Hallo,
hat hier jemand Erfahrungen mit Stimmen Erkennung und der Zuordnung zu Personen?
Ich hab u.a. im Internet VoiceId gefunden, aber bekomme es bisher nicht so zum Laufen, scheint auch Linux basiert zu sein...
https://code.google.com/archive/p/voiceid/
Vielleicht hat ja hier bereits ähnliches implementiert oder einen Tipp für mich 😃
Danke!
Naja streichen wir das bearbeiten / editieren mal raus.
Primär geht es mir um eine Suchfunktion über alle Dateien hinweg und da wäre Windows Suche oder ein Tool wie Everything halt wunderbar dafür...
SQL Server 2017 wird verwendet.
Ich würde gerne die Dateien, die ich per FileStream auf den SQL Server abgelegt habe per Windows SHARE Anwendern zum Suchen und bearbeiten zur Verfügung stellen.
Ist das mit SQL Server Bordmitteln möglich?
Beschrieben wird das schön unter folgender URL:
https://lennilobel.wordpress.com/2011/09/11/its-a-file-system-its-a-database-table-its-sql-server-denali-filetable/
bei mir ist allerdings das Share MYFILESTREAM komplett leer, obwohl ich bereits Einträge in einer Tabelle mit FileStream Spalte habe.
Kann ich und falls ja, wie kann ich aktivieren, dass man auch durch die Dateien navigieren kann?!
Thx!
Hallo,
obwohl ich die Execution Policy bekomme ich hier eine Excetption, es soll ein robocopy per Powershell aufgerufen werden und sauber geparsed werden!
Fehlermeldung:
System.Management.Automation.Host.HostException: 'A command that prompts the user failed because the host program or the command type does not support user interaction. The host was attempting to request confirmation with the following message: The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose you to the security risks described in the about_Execution_Policies help topic at https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?'
Hat jemand einen Ansatz für mich woran das liegen könnte?
Code:
public static RobocopyResult RunRobocopy(string script)
{
using (var runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
var robo = @"$RC_Results = " + script + @"
$RC_Summary = $RC_Results | Select-Object -Last 7 | Select-Object -First 5
$RC_Summary[0] = 'Type' + $RC_Summary[0]
$RC_Summary[-1] = $RC_Summary[-1].Insert(39, 'N/A').Insert(49, 'N/A')
$NewRC_Summary = @()
foreach ($Line in $RC_Summary)
{
$NewLine = $Line.Trim()
$NewLine = $NewLine.Replace(' :', '')
$NewLine = $NewLine -replace '\s{2,}', ' '
$NewLine = $NewLine -replace '(\d)\s([bkmg])', '$1$2'
$NewLine = $NewLine.Replace(' ', ',')
$NewRC_Summary += $NewLine
}
$RC_Summary_Object = $NewRC_Summary | ConvertFrom-Csv
$RC_Summary_Object | Format-Table";
var scriptInvoker = new RunspaceInvoke(runspace);
//scriptInvoker.Invoke("Set-ExecutionPolicy Unrestricted");
var pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(robo);
pipeline.Commands.Add("Out-String");
var results = pipeline.Invoke();
runspace.Close();
var stringBuilder = new StringBuilder();
foreach (var obj in results)
{
stringBuilder.AppendLine(obj.ToString());
}
var text = stringBuilder.ToString();
var lines = text.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
var dirs = lines[2].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var files = lines[3].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var sizes = lines[4].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var times= lines[5].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
return new RobocopyResult()
{
TotalDirs = long.Parse(dirs[1]),
TotalFiles = long.Parse(files[1]),
TotalSize = sizes[1],
TotalTimes = times[1],
CopiedDirs = long.Parse(dirs[2]),
CopiedFiles = long.Parse(files[2]),
CopiedSize = sizes[2],
CopiedTimes = times[2],
SkippedDirs = long.Parse(dirs[3]),
SkippedFiles = long.Parse(files[3]),
SkippedSize = sizes[3],
SkippedTimes = times[3],
MismatchDirs = long.Parse(dirs[4]),
MismatchFiles = long.Parse(files[4]),
MismatchSize = sizes[4],
MismatchTimes = times[4],
FailedDirs = long.Parse(dirs[5]),
FailedFiles = long.Parse(files[5]),
FailedSize = sizes[5],
FailedTimes = times[5],
ExtraDirs = long.Parse(dirs[6]),
ExtraFiles = long.Parse(files[6]),
ExtraSize = sizes[6],
ExtraTimes = times[6]
};
}
Hallo,
ich will von C# aus per Powershell das Programm DiskPart verwenden und einlesen.
Ziel: Command "Get-Disk" ausführen können in C#.
Leider klappt das nicht so, scheinbar muss ich noch das Module Storage importieren, aber ich bekomme es bisher nicht hin.
Hat jemand einen kleinen Tipp für mich?
Danke!
using (var ps = PowerShell.Create())
{
ps.Commands.AddScript("Import-Module Storage");
ps.Commands.AddScript("Get-Disk");
//ps.Commands.AddCommand("Out-String");
var results = ps.Invoke();
var stringBuilder = new StringBuilder();
foreach (var obj in results)
{
stringBuilder.AppendLine(obj.ToString());
}
var text = stringBuilder.ToString();
}
Danke, die Idee klingt sehr hut!
Ich habe allerdings nur IL.Linker gefunden und damit einiges aufräumen und verkleinern können. IL Merge scheint für dir .net Core nicht zu laufen...
wie funktioniert das bei asp.net?
welche Settings/Tools kannst du hier empfehlen?
kann man wie bei .net 4.x auch bei donet core etwas wie PROBING aktivieren,
um die DLL Dateien aus einem gesonderten BIN Ordner laden zu können?
Derzeit habe ich in meinem Hauptverzeichnis ca. 200 DLLs, sodass die "Suche" nach der eigentlichen EXE etwas umständlich ist...
hat jemand eine Idee?
danke!
@Coffeebean:
Wenn es das auch für WinForms Anwendungen gibt wäre das perfekt 😃
Ich will den wissen, um ihn dann leichter im Code zu finden.
Woher weiß ich denn wie die Form heißt, der Button heißt ohne ihn raten zu müssen?
@pinki:
danke, das Tool nutze ich auch sehr gern!
Zum debuggen klasse, aber wie kann ich in die GUI, die ich von dnsyp gestartet habe, dann schauen, welcher Button dort wie heißt?
Gibt es ein Programm mit dem ich ein aktuelles .NET Programm dahingehend analysieren kann, dass ich bspw. den Namen eines Button feststellen kann?
Also eine Selektion/Markierung von einem Control einer laufenden .NET Form, um dann festzustellen wie der Name genau lautet und in welcher Klasse / Namespace es sich befindet?
Danke!
Hallo,
kann mir jemand erklären, warum eine DLL, die nicht mit ihrem Signatur Hashwert übereinstimmt, in Win32 .Net C# Anwendungen einwandfrei funktioniert, aber in einer ASP.net Anwendung folgender Fehler kommt?
Fehlermeldung:
Serverfehler in der Anwendung /.
Die Datei oder Assembly "MyBusinessLib" oder eine Abhängigkeit davon wurde nicht gefunden. Die Signatur mit starkem Namen konnte nicht überprüft werden. Die Assembly wurde möglicherweise geändert oder verzögert aber nicht vollständig mit dem richtigen privaten Schlüssel signiert. (Ausnahme von HRESULT: 0x80131045)
Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.Ausnahmedetails: System.IO.FileLoadException: Die Datei oder Assembly "MyBusinessLib" oder eine Abhängigkeit davon wurde nicht gefunden. Die Signatur mit starkem Namen konnte nicht überprüft werden. Die Assembly wurde möglicherweise geändert oder verzögert aber nicht vollständig mit dem richtigen privaten Schlüssel signiert. (Ausnahme von HRESULT: 0x80131045)
Es handelt sich um eine ASP.net Anwendung auf IIS 7.
Kann ich diese Prüfung irgendwie unterbinden, sodass es genauso läuft wie bei Win Anwendungen (Console, Forms, etc.) ?
Danke!
Hallo,
kann mir jemand sagen, wie ich in C# bei einem WCF WebService eine Collection von einer Eigenschaft auslesen kann?
Computer comp = context.Computer
.Expand("License")
.Expand("Hardware")
.Expand("Process")
.Expand("Version")
.Expand("Address")
.Expand("Settings")
.Expand("Database")
//.Expand("Database/Tables")
.Expand("Service")
.Expand("Printers")
.Where(c => c.CPUID == HardwareHelper.CpuId).FirstOrDefault();
Problem ist bei mir die auskommentierte Zeile bezüglich "Database.Tables"
Das ist eine List / Collection vom Type "Table".
Im Moment kommt folgender Fehler, weinn ich das ganze nicht auskommetiere:
Fehlermeldung:
<?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code /><m:message xml:lang="de-DE">An error occurred while processing this request.</m:message><m:innererror><m:message>Die Argumenttypen stimmen nicht überein.</m:message><m:type>System.ArgumentException</m:type><m:stacktrace> bei System.Linq.Expressions.Expression.Condition(Expression test, Expression ifTrue, Expression ifFalse)
bei DevExpress.Xpo.MethodTranslatingVisitor.VisitMemberAssignment(MemberAssignment assignment)
bei DevExpress.Xpo.Helpers.ExpressionVisitor.VisitBindingList(ReadOnlyCollection1 original)&#xD; bei DevExpress.Xpo.MethodTranslatingVisitor.VisitMemberInit(MemberInitExpression init)&#xD; bei DevExpress.Xpo.MethodTranslatingVisitor.VisitMemberAssignment(MemberAssignment assignment)&#xD; bei DevExpress.Xpo.Helpers.ExpressionVisitor.VisitBindingList(ReadOnlyCollection
1 original)
bei DevExpress.Xpo.MethodTranslatingVisitor.VisitMemberInit(MemberInitExpression init)
bei DevExpress.Xpo.MethodTranslatingVisitor.VisitLambda(LambdaExpression lambda)
bei DevExpress.Xpo.MethodTranslatingVisitor.VisitUnary(UnaryExpression u)
bei DevExpress.Xpo.MethodTranslatingVisitor.VisitExpressionListForCall(ReadOnlyCollection1 original)&#xD; bei DevExpress.Xpo.MethodTranslatingVisitor.VisitMethodCall(MethodCallExpression m)&#xD; bei DevExpress.Xpo.XpoLinqQueryProvider.Execute(Expression expression)&#xD; bei DevExpress.Xpo.Helpers.XpoLinqQuery
1.GetEnumerator()
bei System.Data.Services.Providers.BasicExpandProvider.ExpandedQueryable1.GetEnumerator()&#xD; bei System.Data.Services.WebUtil.GetRequestEnumerator(IEnumerable enumerable)&#xD; bei System.Data.Services.QueryResultInfo.MoveNext()&#xD; bei System.Data.Services.DataService
1.SerializeResponseBody(RequestDescription description, IDataService dataService, IODataResponseMessage responseMessage)
bei System.Data.Services.DataService`1.HandleRequest()</m:stacktrace></m:innererror></m:error>
Danke!
Hallo,
gibt es mit dem neuen Operator (".?") der mit C# 6 hinzugekommen ist, auch die Möglichkeit folgendes Szenario zu vereinfach bzw. in eine Codezeile zu packen?
if (txtBox != null)
txtBox.TextChanged -= txtBox_TextChanged;
Also gemeint ist so in etwa:
txtBox.?TextChanged -= txtBox_TextChanged;
Danke!
Ich habe einen Service installiert und will ihn aus meiner Anwendung ohne Admin Rechte starten, ist das möglich den Service entsprechend zu konfigurieren?
Mein Snippet zum installieren ist folgender (aus StackOverflow: How to install a windows service programmatically in C#?):
[DllImport("advapi32.dll", EntryPoint = "OpenSCManagerW", ExactSpelling = true, CharSet = CharSet.Unicode, SetLastError = true)]
static extern IntPtr OpenSCManager(string machineName, string databaseName, ScmAccessRights dwDesiredAccess);
[DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern IntPtr OpenService(IntPtr hSCManager, string lpServiceName, ServiceAccessRights dwDesiredAccess);
[DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern IntPtr CreateService(IntPtr hSCManager, string lpServiceName, string lpDisplayName, ServiceAccessRights dwDesiredAccess, int dwServiceType, ServiceBootFlag dwStartType, ServiceError dwErrorControl, string lpBinaryPathName, string lpLoadOrderGroup, IntPtr lpdwTagId, string lpDependencies, string lp, string lpPassword);
public static bool Install(string serviceName, string displayName, string fileName, ServiceBootFlag bootOption)
{
IntPtr scm = OpenSCManager(ScmAccessRights.AllAccess);
try
{
IntPtr service = OpenService(scm, serviceName, ServiceAccessRights.AllAccess);
if (service == IntPtr.Zero)
service = CreateService(scm, serviceName, displayName, ServiceAccessRights.AllAccess, SERVICE_WIN32_OWN_PROCESS, bootOption, ServiceError.Normal, fileName, null, IntPtr.Zero, null, null, null);
if (service == IntPtr.Zero)
throw new ApplicationException("Failed to install service.");
return true;
}
finally
{
CloseServiceHandle(scm);
}
}
thx!
Das Problem liegt im letzten Code Schnipsel, also wie füge ich korrekt ein Item einer Collection zu.
comp.Database.Tables.Add(tab);
context.AddToTable(tab);
Meine Versuche schlugen bisher fehl:
//context.AddRelatedObject(tab, "Tables", comp.Database);
//context.AddLink(tab, "Tables", comp.Database);
Hallo,
ich möchte Object 1 auf Object 2 mappen.
dabei gibt es DateTime? Werte, die eifnach nicht gemappt werden wollen (obwohl Ziel und Quellfeld jeweils DateTime? sind!)
Hat jemand eine Idee?
Thx!
Danke für die schnelle Reaktion.
Also die Erzeugung des Context erfolgt tatsächlich vor jedem Request über folgende Methode:
public static WS_Test.GB CreateContext()
{
var context = new WS_Test.GB(new Uri(WebBase.GBWebServiceUrl));
context.Timeout = 15;
context.SendingRequest2 += context_SendingRequest2;
return context;
}
Dann wird hier wie folgt aufgelöst per Expand (wobei ich nich weißt, wie ich die Tables auflösen soll von dem Object Database):
var context = WebBase.CreateContext();
Computer comp = context.Computer
.Expand("License")
.Expand("Hardware")
.Expand("Process")
.Expand("Version")
.Expand("Address")
.Expand("Settings")
.Expand("Database")
.Expand("Service")
.Expand("Printers")
.Where(c => c.CPUID == settings.ComputerId).FirstOrDefault();
Anschließend wird ggfs. die Database erzeugt:
if (comp.Database == null)
{
comp.Database = new Database();
context.AddToDatabase(comp.Database);
context.AddLink(comp.Database, "Computers", comp);
}
Um daraufhin die Tables zu füllen (bzw. füllen zu wollen):
foreach (var row in DBInfo.GetTablesInfo().ResultSet[0].Rows)
{
var name = row.Values[1].ToString();
var tab = comp.Database.Tables.Where(t => t.Name == name).FirstOrDefault();
if (tab == null)
{
tab = new Table();
tab.Name = name;
tab.Database = comp.Database;
comp.Database.Tables.Add(tab);
context.AddToTable(tab);
//context.AddRelatedObject(tab, "Tables", comp.Database);
//context.AddLink(tab, "Tables", comp.Database);
}
tab.Bytes = Convert.ToInt64(row.Values[4]);
}
Hilft das bei der Analyse etwas weiter?
Problem ist:
thx!
Hallo,
ich habe einen WCF Service, der beim Datenmodel zur Entität "Computer" eine 1:1 Beziehung zu einer "Datenbank" hat, diese wieder mit 1:n auf "Table", also Collection "Tables" zeigt.
Nun habe ich ein Problem, wie ch das sinnvoll per context miteindander verknüpfen kann, da mir C# immer Fehler ausweist, wie im angehängten Screenshot zu sehen ist.
Kann mir jemand einen Tipp geben wie ich das korrekt zu einander verknüpfen kann?
Danke!
Ich bekomme bei meinen Requests per WebClient Fehler bei URLs die im Browser sauber Ergebnisse liefern!
Es ist eine HTTPS Url, aber ich lasse da explizit alle Zertifikate zu.
Hat jemand eine Idee, woran das liegen könnte?
Thx!
NetworkHelper.TrustAllSSL();
using (var wc = new ExtendedWebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/json";
wc.Headers.Add(HttpRequestHeader.Accept, "application/json");
return wc.DownloadString(url);
}
Erweiterungsklasse (wegen Timeout Funktion):
public class ExtendedWebClient : WebClient
{
public int Timeout { get; set; }
public ExtendedWebClient()
{
Timeout = 5000;
}
protected override WebRequest GetWebRequest(Uri address)
{
var wc = base.GetWebRequest(address);
wc.Timeout = Timeout;
return wc;
}
}
Trust All SSL:
public static void TrustAllSSL()
{
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
}
Die Befürchtung ist, dass es um Bitmap und Image Objekte gehen könnte.
Also Bsp. Quellcode hier:
https://documentation.devexpress.com/#WindowsForms/CustomDocument17565
Dort werden Image Objekte erzeugt und in Ribbon Items verwendet.
Reicht es dann das jeweilige Ribbon Items zu Disposen, wo das Image zugewiesen war oder muss ich jedes Image Objekt einzeln Disposen?
Im Speziellen geht es um ein UserControl, in dem Bitmap und Controls erzeugt werden.
Anfangs dachte ich, wenn ich das UserControl lösche würde schon alles darauf erzeugte auch mit aus dem Speicher geschmissen. Dann wachte ich nach und nach auf (dispose auf alle Controls und davor die Events deregistrieren), nun befürchte ich, dass ich jedes Image in eine separate Variable packen muss und diese dann auch alle Disposen muss, wenn das UserControl geschlossen wird.
Ist dem so?
Thx!
Hallo,
ich habe scheinbar ein Memory Leak Problem, zumindest hauen mir die GDI Objekte ab bis auf 10.000 und dann knallts!
Hat jemand einen guten Tipp für mich, wie ich das Memory Leak identifizieren kann (Problem ist es laufen mehrere Threads und GUI Elemente und es ist für mich im Moment quasi die Nadel im Heuhaufen...).
Thx!
VS 2015
Ich lasse in meiner Anwendung einen Timer alle 30 Sekunden auf Probleme prüfen:
timer = new Timer { Interval = AlertInterval };
timer.Tick += CheckAlerting;
mit folgender Prozedur:
private void CheckAlerting(object sender, EventArgs e)
{
if (isChecking) return;
isChecking = true;
Task.Factory.StartNew(() =>
{
CollectInformation();
DoOutput();
});
}
Im CollectInformation werden Datenbankabfragen ausgeführt und Listen gefüllt mit Meldungen die ausgegeben werden sollen (Drucker leer, Kein Internet, etc. => Fehler / Warnungen).
Im DoOutput() wird das ganze dann ausgegeben.
Dabei wird dann auch etwas ausgegeben für den User, dass etwas schief lief (Messagebox bspw.), hier beginnt es dann immer sehr hakelig zu werden und die Form ist nicht mehr zugreifbar für mehrere Sekunden:
PlaySound(fileSumSound);
foreach (var info in _alertsSum)
_alertSum.Show(Manager.Form, info);
PlaySound(fileFahrerSound);
foreach (var info in _alertsFahrer)
_alertFahrer.Show(Manager.Form, info);
PlaySound(fileOrderSound);
foreach (var ai in _alertsOrder)
_alertOrder.Show(Manager.Form, ai);
foreach (var trigger in MsgBoxList)
ShowErorForm(uow, Manager, trigger);
isChecking = false;
Hat jemand eine Idee, woran das liegen könnte?
Ich habe um Freezes zu verhindern ja extra** Task.StartNew** eingebaut. Aber irgendwas blockt trotzdem nocht...
Danke!!!
Danke für den Hinweis, habe Exceptions angestellt und in der Inner Exception steht nun tatsächlich folgendes:
<?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code /><m:message xml:lang="de-DE">An error occurred while processing this request.</m:message><m:innererror><m:message>Das Objekt kann nicht bestehend bleiben. Es wurde von einem anderen Programm modifiziert oder gelöscht (bereinigt).</m:message><m:type>DB.Exceptions.LockingException</m:type>
Heitß die Vermutung scheint wahr zu sein, ich muss wohl die Tabellen besser kapseln, da 3 Methoden die selbe Tabelle manipulieren, wenn aber jede Methode eine eigene Tabelle besitzt, müsste das ja dann passen...
Danke jedenfalls für die simple aber effektive Hilfe 😉
Kann mir jemand auf die Sprünge helfen, woran das liegen kann, dass (manchmal, nicht immer!) ein Update per WebService folgenden Fehler wirft:
Source : Microsoft.Data.Services.Client -> HandleResponse
Computer : 04.07.2015 12:07:05 -> Rechner2 Verion: 1.6.3.63
Error : Fehler beim Verarbeiten dieser Anforderung.
Stack Trace : at System.Data.Services.Client.SaveResult.HandleResponse()
at System.Data.Services.Client.BaseSaveResult.EndRequest()
at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)
betrifft folgendes Code Snippet:
WebService_V7 context = new WebService_V7(new Uri(WebBase.Url));
Computer comp = context.Computer.Where(c => c.ID == settings.ID).FirstOrDefault();
if (comp == null) return "";
comp.Date = DateTime.Now;
context.UpdateObject(comp);
context.SaveChanges();
Kann es daran liegen, dass evtl. in der Zwischenzeit ein anderes Update stattfand und die Daten somit inzwischen neu geschrieben wurden, weshalb der aktuelle Update Befehle dann fehlschlägt.
Hat jemand eine Idee?
thx!
Ok, danke für den Hinweis.
Jetzt weiß ich allerdings - und find nichts brauchbares in der Doku von Devepxress oder allgemein in Google - was für ein Attribut ich hier zuweisen muss in meine XPO Klasse (Contained gibt es dort leider nicht zur Auswahl...).
Hat da jemand noch einen brauchbaren Tipp, wie ich an mein Ziel komme, nicht nur flache Typen zu holen und abzuspeichern?
Thx!
Also es geht um geschachtelte XPObjects.
D.h. Customer => Adresss
@Moment Customer wird ohne Verweis auf Adress an Odata Service geschickt, aber ich will quasi mit Hierarchie senden. Weiß niur nicht genau wie. Laut DX Artikel geht das per Attribut [Complex], aber das gibt es wohl in der aktuellen Version nicht mehr 😕
thx!
OData Provider for XPO – Complex Types
Ich habe in dem Link die Lösung zu meinem Problem gefunden ABER
Dieses Property "[Complex]" finde ich nicht mehr in der aktuellen Devexpress Version 14.2.6
Kann mir jemand helfen, was ich verwenden kann, um verschachtelte Daten zu holen und speichern zu können per XPO / OData / WCF WebService?
Thx!
Heißt das, dass der Unterschied am wahrscheinlichsten von der untersch. MAC Adresse kommt?
Wie kann ich sicherstellen, dass meine Methode, IMMER eine feste nimmt. Also immer die LAN Verbindung z.b.?
thx!
Hallo,
ich verwende folgendes Snippet um eine Maschinen ID zu generieren. Jetzt habe ich das Problem, dass ich einen Computer habe, der einmal ID x und einmal ID y - sprich 2 versch. IDs generiert zu zwei versch. Zeitpunkten!
Kann sich das jemand erklären, ich dachte die Eigenschaften, die ich hier verwende, wären IMMER eindeutig ...
[WIN32_PROCESSOR und MACADRRESS]
thx !
public static String GenerateMachineID()
{
var check = new[,]
{
{"Win32_NetworkAdapterConfiguration", "MACAddress"},
{"Win32_Processor", "UniqueId"},
{"Win32_Processor", "ProcessorId"},
{"Win32_Processor", "Name"},
{"Win32_Processor", "Manufacturer"}
};
//WMI query
const string query = "SELECT {1} FROM {0}";
const string queryex = " WHERE IPEnabled = 'True'";
var sb = new StringBuilder();
for (var i = 0; i < check.GetLength(0); i++)
{
using (var oWMI = new ManagementObjectSearcher(
string.Format(query, check[i, 0], check[i, 1]) + (i == 0 ? queryex : string.Empty)))
{
foreach (var o in oWMI.Get())
{
var mo = (ManagementObject) o;
var result = mo[check[i, 1]] as string;
if (result != null) sb.AppendLine(result);
break;
}
}
}
using (MD5 sec = new MD5CryptoServiceProvider())
{
var enc = new ASCIIEncoding();
var bt = enc.GetBytes(sb.ToString());
bt = sec.ComputeHash(bt);
sb.Clear();
foreach (byte t in bt)
{
sb.AppendFormat("{0:X2}", t);
}
}
return sb.ToString();
}
@vbprogger: Einzeln die Abfragen abzusetzen ist kein Problem, es tritt nur bei mehreren Threads auf und da auch nur sehr sporadisch und nicht beliebig "nachstellbar"...
@Abt: Was heißt das für mich als Entwickler? Wie könnte ich diesen Fehler ausmerzen?
Alles in einem Thread halten?
Problem ist, ich habe einen Timer der alle 30 Sek. läuft, der dann einen Backgroundworker lostritt.
Dieser sammelt Infos und im WorkDone / Completed Event werden dann die gesammelten Infos im Main Thread dem User zur Schau gestellt.
Wenn ich das alles in einem Thread laufen lassen würde doch die GUI evtl. einfrieren 😕 ?!
Any ideas? Thx!
System: MariaDB 10.0
Ich greife mit XPO auf eine MariaDB Datenbank zu und teilweise bearbeite ich Select und Insert Anfrage in einem Backgroundworker Multithreaded, damit die GUI nicht einfriert.
Nun bekomme ich unregelmäßig und kaum nachvollziehbar Fehlermeldungen, wie Folgende:
Fehlermeldung:
Executing Sql 'select N0.ID
,N0.Trigger
,N0.Date
,N0.FQDN
,N0.Ord_ID
fromtriggers
N0
where (N0.Date
< ?p0)' with parameters '{27.02.2015 20:47:49}' exception 'MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered during command execution. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered attempting to read the resultset. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Reading from the stream has failed. ---> System.IO.IOException: Von der Übertragungsverbindung können keine Daten gelesen werden: Eine bestehende Verbindung wurde softwaregesteuert
durch den Hostcomputer abgebrochen. ---> System.Net.Sockets.SocketException: Eine bestehende Verbindung wurde softwaregesteuert
durch den Hostcomputer abgebrochen
bei System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
bei System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- Ende der internen Ausnahmestapelüberwachung ---
bei MySql.Data.Common.MyNetworkStream.HandleOrRethrowException(Exception e)
bei MySql.Data.Common.MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
bei MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
bei System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
bei MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
bei MySql.Data.MySqlClient.MySqlStream.LoadPacket()
bei MySql.Data.MySqlClient.MySqlStream.LoadPacket()
bei MySql.Data.MySqlClient.MySqlStream.ReadPacket()
bei MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
bei MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
bei MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
bei MySql.Data.MySqlClient.MySqlDataReader.NextResult()
bei MySql.Data.MySqlClient.MySqlDataReader.NextResult()
bei MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
bei MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
bei MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
bei System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
bei DevExpress.Xpo.DB.ConnectionProviderSql.<>c__DisplayClass6.<InternalGetData>b__4()
bei DevExpress.Xpo.Logger.LogManager.Log[T](String category, LogHandler1 handler, MessageHandler
1 createMessageHandler)
bei DevExpress.Xpo.DB.ConnectionProviderSql.InternalGetData(IDbCommand command, CriteriaOperatorCollection targets, Int32 skipClause, Int32 topClause, Boolean includeMetadata)
bei DevExpress.Xpo.DB.ConnectionProviderSql.SelectDataSimple(Query query, CriteriaOperatorCollection targets, Boolean includeMetadata)'
Stack Trace : bei DevExpress.Xpo.DB.ConnectionProviderSql.SelectDataSimple(Query query, CriteriaOperatorCollection targets, Boolean includeMetadata)
bei DevExpress.Xpo.DB.ConnectionProviderSql.SelectData(Query query, CriteriaOperatorCollection targets)
bei DevExpress.Xpo.DB.ConnectionProviderSql.ProcessSelectData(SelectStatement selects)
bei DevExpress.Xpo.DB.DataStoreBase.ProcessSelectData(SelectStatement[] selects)
bei DevExpress.Xpo.DB.DataStoreSerializedBase.SelectData(SelectStatement[] selects)
bei DevExpress.Xpo.DB.ConnectionProviderSql.SelectData(SelectStatement[] selects)
bei DevExpress.Xpo.ThreadSafeDataLayer.SelectData(SelectStatement[] selects)
bei DevExpress.Xpo.Helpers.ObjectCollectionLoader.InternalLoadData(ObjectsQuery[] queries)
bei DevExpress.Xpo.Helpers.ObjectCollectionLoader.LoadObjects(ObjectsQuery[] queries)
bei DevExpress.Xpo.SimpleObjectLayer.LoadObjects(Session session, ObjectsQuery[] queries)
bei DevExpress.Xpo.Session.GetObjectsInternal(ObjectsQuery[] queries)
bei DevExpress.Xpo.Session.<>c__DisplayClasse.<GetObjects>b__c()
bei DevExpress.Xpo.Logger.LogManager.Log[T](String category, LogHandler1 handler, MessageHandler
1 createMessageHandler)
bei DevExpress.Xpo.Session.GetObjects(ObjectsQuery[] queries)
bei DevExpress.Xpo.Session.GetObjects(ObjectsQuery query)
bei DevExpress.Xpo.XPBaseCollection.Load()
bei DevExpress.Xpo.XPBaseCollection.get_Objects()
bei DevExpress.Xpo.XPBaseCollection.System.Collections.IEnumerable.GetEnumerator()
bei DevExpress.Xpo.XPCollection`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>d__0.MoveNext()
bei bgWorker_DoWork(Object sender, DoWorkEventArgs e)
Hat jemand eine Idee woran das liegen könnte oder einen Tipp wie ich das beheben könnte?
Thx!
MySQL DB.
Ich habe eine Anwendung mit lokaler MySQL DB (Slave).
Zusätzlich eine Art "Cloud" DB (Master).
Es besteht keine direkte physische Verbindung zwischen Master und Slave DB (damit der Client nicht direkt auf die DB zugreifen kann oder sie auslesen kann o.ä.).
Nun möchte ich bspw. Änderungen in der Slave Tabelle "Kunden" an die Master Tabelle "Kunden" übertragen.
Ebenso soll eine Änderung von der Master Tabelle an die Clients verteilt werden.
Die Basis / Technik dachte ich mit PHP und XML zu machen.
Meine Fragen:
Gibt es einfachere, besser wartbare Wege als die XML Datei zu erzeugen und per PHP Post an ein Verarbeitungsskript zu schicken?
Kann ich die Master DB direkt anbinden und mit DB Mitteln eine Replikation machen, ohne dass der Client Möglichkeiten hat, da wichtige Master Daten auszulesen / zu manipulieren?
Danke!
Danke für den Link, allerdings habe ich diese Doku auch schon gefunden und entsprechende Seiten auch ausgedruckt und abgescannt. Aber das Barcodescanner erscheint danach immer noch als HID Device im Gerätemanager.
Wie erkenne ich denn ob er jetzt auf RS232 eingestellt ist nach dem Scan?
U.v.a. wie kann ich den Kerl dann von USB auf einen COM Port mappen?
Thx!
Ich versuche gerade den Zugang von USB auf COM Port umzustellen.
Mit Metroset bekomme ich keinen Port geliefert, USB steht gar nicht zur Auswahl.
Wie bekomme ich den richtigen Treiber installiert für Quantum® IS3480 (sorry für die blöde Frage, aber ich steh im Moment wie der Ochs vorm Berg und komm einfach nicht weiter...)
https://www.honeywellaidc.com/de-DE/Pages/Product.aspx?category=OEM-scanner&cat=HSM&pid=3480
Also wenn ich richtig verstanden habe:
Danke schonmal für die klasse Hilfe !!!
Das klingt super!
Ich habe mir zwei Config Tools von Honeywell heruntergeladen:
Scheint mir aber beides nicht das zu sein, was du mit "Configuration Utility" meintest, oder?
Ich kann hier nur eigene Barcodes generieren lassen in den Anwendungen...
Tastatureingaben... sowas in der Art hatte ich schon befürchtet!
Mh, ok, aber wenn ich nun eine Form ohne Textbox oder meheren Textboxen habe, da kann ich ja nicht immer von ausgehen, dass der Scantext in der richtigen landet und entsprechend behandelt wird?
Wie könnte ich sicherstellen, dass ein Scan immer in der einen (evtl. eine unsichtbare ?!) Textbox landet?
Hallo, ich habe hier ein Barcode Lesegerät von Metrologic (T3580).
Das funktioniert auch wunderbar, aber schreibt einfach stur den eingelesenen Text in die fokussierte Textbox und fertig.
Was ich möchte ist, dass ich den Scan Text per Event abgreifen kann und entsprechend weiterverfahren kann. Wie ist sowas machbar?
Ich bin auf POS von Microsoft gestoßen und folgende Codeproject Seite, allerdings schreibt er mir auch mit dieser Bsp. Anwendung immer "nur" den String in entsprechende Textfelder... Geht das nicht irgendwie über Events?
http://www.codeproject.com/Articles/34473/Controlling-a-Barcode-Reader-with-POS-for-NET
Wäre über Tipps oder Links wahnsinnig dankbar !!!
Ok, ich habe mal nach grafischen GDI Objekten geschaut. Da gibt es nun im Endeffekt zwei Stellen, bei denen ich mir unsicher bin:
public class RibbonImageHelper: IDisposable
{
private readonly RibbonControl _Ribbon;
public Image Image { get; set; }
public RibbonImageHelper(RibbonControl ribbon, Image image)
{
_Ribbon = ribbon;
Image = image;
ribbon.Paint += new PaintEventHandler(ribbon_Paint);
}
void ribbon_Paint(object sender, PaintEventArgs e)
{
DevExpress.XtraBars.Ribbon.ViewInfo.RibbonViewInfo ribbonViewInfo = _Ribbon.ViewInfo;
if (ribbonViewInfo == null)
return;
DevExpress.XtraBars.Ribbon.ViewInfo.RibbonPanelViewInfo panelViewInfo = ribbonViewInfo.Panel;
if (panelViewInfo == null)
return;
Rectangle bounds = panelViewInfo.Bounds;
int minX = bounds.X;
DevExpress.XtraBars.Ribbon.ViewInfo.RibbonPageGroupViewInfoCollection groups = panelViewInfo.Groups;
if (groups == null)
return;
if (groups.Count > 0)
minX = groups[groups.Count - 1].Bounds.Right;
if (bounds.Height < Image.Height || Image.Width > 250)
return;
int offset = (bounds.Height - Image.Height) / 2;
int width = Image.Width + 15;
bounds.X = bounds.Width - width;
if (bounds.X < minX)
return;
bounds.Width = width;
bounds.Y += offset;
bounds.Height = Image.Height;
e.Graphics.DrawImage(Image, bounds.Location);
}
public void Dispose()
{
Image.Dispose();
}
}
public class myIcons: IDisposable
{
public Bitmap Campaign_32 { get { return Properties.Resources.notes_32x32; } }
public Bitmap Campaign_16 { get { return Properties.Resources.notes_16x16; } }
public Bitmap New_32 { get { return Properties.Resources.new_32x32; } }
public Bitmap New_16 { get { return Properties.Resources.new_16x16; } }
Wie verhält sich das denn mit Images die ich an ToolStripButtons hänge, muss ich die auch Dispse(n) oder reicht es das übergeordnete ToolStripButton Control zu dipose(n) ?
Also Windows Forms ist das richtige Forum 😉
Hier ist ein Fehler, der wohl auf grund zu viel RAM Verbrauchs kommt (=> Memory Leak ?!)
Fehlermeldung:
Error : Fehler beim Erstellen des Fensterhandles.
Stack Trace : bei System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
bei System.Windows.Forms.Control.CreateHandle()
bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl()
bei System.Windows.Forms.Control.ControlCollection.Add(Control value)
bei GastroBlitz.myManager.SetActiveModule(myUserControl Module, String Headline, ZielGUI ModuleName)
bei GastroBlitz.myManager.Open_Bestellübersicht()
bei GastroBlitz.myManager.OpenHistory(myHistory history)
Habe da versucht mit dem .NET Memory Profiler nachzuvollziehen, was es damit auf sich hat...
Tappe aber relativ im Dunkeln, habt ihr da Tipps wie ich das Problem genauer eruieren könnte oder wie ich sauberer die Events deregistrieren kann?
Thx!
Ok das verstehe ich, aber wie kann ich in diesen Dispose Methoden dann wirklich ALLE Events löschen, ohne dass ich das händisch immer mit "-=" machen muss (denn das vergisst man schnell mal oder ist nicht mehr "up-to-date")?
Gibt es eine Funktion "Lösche alle Events" ?
Falls nein, gibt es eine Möglichkeit oder sogar einen Code Snippet die Events / Delegates zu sammeln und dann in einem Loop alle zu entfernen?
Danke!
Hallo,
ich bin erst vor kurzem auf den .NET Memory Profiler gestoßen, der mir Memory Leaks aufzeigt.
Problem war, dass meine Anwendung immer mehr RAM benutzt und nicht mehr freigibt!
Nun muss ich also jedes Event einzeln wieder deregistrieren, aber wie kann ich sicher sein, dass ich auch alle erschwische und per "-=" deregistriere?
Wie handhabt ihr das?
Gibt es da bessere Wege das zu implementieren, etwa eine Liste aller Events o.ä.?
Thx!
Hallo,
ich möchte aus C# heraus eine gezippte Datei per Aufruf eines PHP Links an einen Webserver senden.
Dabei soll allerdings, wenn möglich, die Datei im PHP Skript behandelt werden (sprich entzippt und div. SQL Statements generiert werden).
Ist das möglich per C# / PHP?
Oder kann ich ggfs. die Zip Datei als PARAMETER (in "Textform") an die PHP Datei übergeben?
Danke!
Leider komme ich da nicht so richtig weiter, wie ich mir das erhofft hatte.
Ich will die Payment History abrufen (dazu verwende ich die C# Projektdateien von "https://github.com/paypal/PayPal-NET-SDK"), wie hier im Quellcode zu sehen.
Nun ja über den Test Account, der in diesem Projekt hinterlegt ist, bekomme ich wunderbar Daten zurück.
Blöderweise bekomme ich über meine Test Sandbox keine Daten zurück, obwohl ich über die beiden automatisch angelegten Email Adressen einige Transaktionen hin und her gebucht haben (per Paypal Sandbox Website).
Ich bekomme count 0 zurückgeliefert, ich weiß jetzt allerdings nicht wo der Wurm begraben liegt.
Hat da jemand eine Idee?
Ich gebe MEINE Sandbox clientId und clientSecret ein, ansonsten als Mode noch sandbox...
Muss ich die von mir zum Test erzeugte "App" irgendwie übergeben? Falls ja, wo in welchem Feld / Parameter?
Wäre um jeden Hinweis dankbar!
private void simpleButton1_Click(object sender, EventArgs e)
{
// Get a reference to the config
var config = PayPal.Manager.ConfigManager.Instance.GetProperties();
//config["mode"] = "live";
config["mode"] = "sandbox";
// Read the clientId and clientSecret stored in the config
var clientId = "xxx";
var clientSecret = "yyy";
// Use OAuthTokenCredential to request an access token from PayPal
var accessToken = new OAuthTokenCredential(clientId, clientSecret, config).GetAccessToken();
var apiContext = new APIContext(accessToken);
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("count", "20");
parameters.Add("startIndex", "5");
parameters.Add("start_time", "2014-10-01T00:00:00Z");
parameters.Add("end_time", "2014-12-31T23:59:59Z");
PaymentHistory payHistory = Payment.List(apiContext, parameters);
gridControl1.DataSource = payHistory.payments;
gridView1.PopulateColumns();
}
Ist es möglich Paypal Überweisungen aus einer C# Anwendung herauszusenden (natürlich hat der Anwender zuvor seinen Login eingegeben)?
Falls ja, wie kann man soetwas umsetzen?
Danke!
Ja das ist mir bewusst, es geht mir einfach darum das Handwerkszeug zu verstehen und zu beherrschen.
Wie könnte ich das denn mit JavaScript bewerkstelligen.
Problem ist ja, dass bei HtmlAgilityPack nur das reine HTML geladen wird, die AJAX / DOM Komponenten ja aber nachgelagert geladen werden... leider habe ich da keinen Ansatz, wie ich das lösen könnte z.Zt.
Hallo,
gibt es die Möglichkeit mit HtmlAgilityPack (oder irgendwie anders!) Daten einer Homepage abzugreifen, die erst mit JavaScript nachgeladen werden?
Falls nicht, gibt es hierzu eine Möglichkeit?
Danke!
Hallo,
ich habe ein Problem aus den Informationen zu GDPdU schlau zu werden.
Was bedeutet das für die Software und für die Datenbank?
Hier ein kleiner Wikipedia Auszug:
unmittelbarer Lesezugriff (Z1), mittelbarer Zugriff über Auswertungen (Z2) und Datenträgerüberlassung in verschiedenen Formaten (Z3).
Aber wie bilde ich sowas in C# / bzw. allgemein in Software ab?
Danke schonmal für das Feedback!
Wie kann ich per C# einen Dienst mit Abhängigkeiten zu einem anderen (bswp. Datenbankdienst) installieren?
Hier mein derzeitiger Code, jedoch weiß ich nicht an welche Stelle die Abhängigkeit implementiert werden könnte...
Danke!
using System.ServiceProcess;
using System.Configuration.Install;
namespace myService
{
[RunInstaller(true)]
public class myServiceInstaller : Installer {
private ServiceInstaller myService;
private ServiceProcessInstaller myServiceInstaller;
public myServiceInstaller()
{
myService = new ServiceInstaller();
myServiceInstaller = new ServiceProcessInstaller() { Account = ServiceAccount.LocalSystem, Username = null, Password = null };
myService.ServiceName = "Test";
myService.Description = "Test";
myService.StartType = ServiceStartMode.Automatic;
Installers.Add(myService);
Installers.Add(myServiceInstaller );
}
}
}
Danke für eure Hilfe!
Der Schnipsel von steffen_dec war genau das was ich gesucht habe!
Er liefert mir alle Trigger für dieser Username zurück, die ich noch abarbeiten muss (und dann einen Satz in Triggers_Done schreibe).
Mir geht es also um Trigger, die ich auf versch. Clients abarbeiten will, dazu muss ich wissen, welche auf Client X noch offen sind 😉
Merci beaucoup !!!