Ich würde anstatt einer Zeit einfach die letzte Id nehmen, und dann gucken ob ein Eintrag mit einer höheren drin ist. Da hat man nicht das Problem, das unter Umständen die Zeit zwichen Client und Server nicht synchron laufen, und dazu sollte das sogar noch etwas schneller sein 😃
Du castest das Ergebnis des Splits auf 'Array'. Beim Aufruf vom Join wird das in einem string umgewandelt, und join tut dann gar nichts mehr.
Aber was du da vorhast ist überhaupt keine gute idee. Daten wandelt man anders in eine andere Kultur um!
Warum willst du überhaupt SQL Compact übers Netzwerk haben, und benutzt nicht einen SQL Server der dafür ausgelegt ist?
Oh ich bin davon ausgegangen dass das Property eines mit backing field ist. So passiert natürlich nichts.
Du solltest versuchen das Laden der Items erst durchzuführen, wenn du vorher alle Filter angewand hast, also zuerst die Where Bedingungen, und dann das ToList, dann werden die Items auf dem Datenbankserver gefiltert.
LG pdelvo
Ich möchte noch hinzufügen, dass der GC unter Umständen den Timer Disposed, dann wird das Event (vielleicht) trotz ReadLine nicht ausgeführt.
Wird auch im MSDN Timer-Klasse erklärt.
In Linq wäre das dieser Ein(Zwei)zeiler:
TeamHandler.ActiveItems.RemoveAll(item => !item.EntityTeam.Any(obj => obj.Entity.EntityId == EntityId));
return TeamHandler.ActiveItems;
oder wenn die Urpsrungsauflistung nicht geändert werden soll:
return TeamHandler.ActiveItems.Where(item => item.EntityTeam.Any(obj => obj.Entity.EntityId == EntityId));
Aber ich sehe das auch so, dass es keinen Sinn macht listen zu verwenden. So holst du dir ja immer alle Items vom Server.
PS: Ist es gewollt, dass TeamHandler.ActiveItems auch geändert wird? Das passiert nämlich
100 % genau geht es natürlich nie.
Aber man kann (laut Wikipedia) die uhren übers Internet auf bis zu 10ms synchronisieren. Dann bestimmt der Server einen Zeitpunkt an dem die Aufgabe gestartet werden soll, und schickt diese Zeit an die Clients. Deswegen spielt dann die Latenz dazwichen keine Rolle, solange sie geringer ist als der Maxilamwert (wie weit die Aufgabe in der Zukunft geplant ist). Dann dürfte das auf bis zu ~10ms genau funktionieren können, genauer wirst du es übers Internet nicht hinbekommen.
LG pdelvo
Wenn man die Uhren synchronisiert, einen Task mit einem Startzeitpunkt verschickt (z.B. 10 Sekunden später), dann können die Clients dies etwa zur gleichen Zeit ausführen.
LG pdelvo
Je kleiner der Chunk desto schlechter die Performance.
Das kann ich so nicht nachfollziehen. Habe etwas rumprobiert, und 10mb war etwa die größe, bei der das Hashing am schnellsten war. Wenn die Parts größer werden muss sehr viel Speicher allokiert werden, was dann schnell mehrere gb werden kann. Habe einfach mal auf die schnelle wtas rumexperimentiert und komme auf ca. 1,8gb/s mit SHA1Cng, und auf 2,3GB/s mit MD5Cng. SHA1CryptoServiceProvider ist nur unwesentlich schneller als die Cng Variante. Bei Md5 ist das ganze deutlicher. Liege bei dem Md5CryptoServiceProvider bei 3,4GB/s.
Gemessen jeweils mit einem i7 3770k @ stock
static void Main(string[] args)
{
var data = new byte[10*1024*1024];
var random = new Random();
random.NextBytes(data);
var hasher = new ThreadLocal<SHA1Cng>(()=> new SHA1Cng());
long calculatedParts = 0;
var startTime = DateTime.Now;
var timer = new Timer(state =>
{
Console.Clear();
Console.Write("{0}gb/s", (10.0*Interlocked.Read(ref calculatedParts)/1024)/(DateTime.Now - startTime).TotalSeconds);
},null, 1000, 1000);
Parallel.For(0, 10000000, i =>
{
var hash = hasher.Value.ComputeHash(data);
Interlocked.Increment(ref calculatedParts);
});
timer.Dispose(); // We dont want the timer to get disposed by the GC earlier ;)
Console.Read();
}
Hallo,
Parallelisiert hast du das ganze schon?
LG pdelvo
Man kann über die Kommandozeile einem anderen Account erlauben eine Url zu benutzen.
netsh http add urlacl url=http://+:8346/ user="NTAuthority\Authenticated Users"
Wenn man die stack Größe ändern muss stimmt meiner Meinung nach ezas am design nicht. Eine Vergrößerung des stacks hilft wenn, dann nur temporär, denn jedes hinzufügen von lokalen variablen steigert die Nutzung des stacks drastisch, eben da die spezifische Methode so oft aufgerufen wird, und dann müsste man wieder vergrößern. Dazu kommt noch, dass Zeiger unter 64bit größer sind, und man dementsprechend auch weiter aufpassen muss.
Immer wenn eine methode aufgerufen wird muss die Rücksprungadresse auf den Stack. Dessen größe ist beschränkt. Es spiel keine Rolle ob es immer die gleiche Methode, oder ein Ring aus Methoden ist. Auch muss die Rekursion nicht unendlich sein, nur so groß, dass der Stack nicht mehr ausreicht.
LG pdelvo
Ja diese wurden meines Wissens nach umbenannt. Genau so wie die DeleteObject Methode. Die heißt jetzt einfach Remove.
LG pdelvo
Du könntest dein Programm per runas starten, und spezielle Parameter übergeben, dass es unsichtbar nur diese Aufgaben erledigt, und sich dann beendet.
LG pdelvo
Vielleicht darf ein Webbrowser nur bei der Interaktion eines Nutzers ausgeführt werden.
Du kannst den Drop Down in ein Partial View packen.
LG pdelvo
Noch eine Idee: Die Server schreiben bestimmt ihre Logeinträge in eine Datei. Und das sollte sich ja auslesen lassen
Du kannst versuchen den StandardError auszulesen. Vielleicht gibt das Spiel darüber die Konsole auch noch aus. Ansonsten kannst du eigentlich nur noch das Internet durchforsten, ob man den Server mit einem kommandozeilenschallter dazu bringen kann die Logs darüber auszugeben.
Dein Vorgehen finde ich nicht besonders Benutzerfreundlich. Besser fände ich, wenn das Captcha ausgelöst wird, wenn du oft, und zu schnell(!) Daten abgefragt werden. Dazu würde ich die IP als Anhaltspunkt nehmen.
LG pdelvo
Erster Schritt: Kein Feld benutzen, sondern ein Property.
Dann kannst du dieses in der basisklasse als virtual implementieren, und dann in der abgeleiteten Klasse überschreiben und entsprechend so implementieren, das ein statisches Feld zum Speichern genutzt wird.
LG pdelvo
Gefallen dir die Frameworkmethoden nicht?
LG pdelvo
Man kann den Mono Connector nehmen, bei dem man nur eine dll mitgeben muss.
Nimm den MySql Connector von der mysql Seite. Wenn du die Mono Version nutzt brauchst du gar nichts installieren.
LG pdelvo
Du könntest die gui vor dem Insert generieren, und dann dem insert mit übergeben. Dann hättest du sie. Eine andere Möglichkeit kenne ich nicht
LG pdelvo
Hallo!
Du kannst versuchen viele Daten zusammen in einer Transaction zu übertragen.
LG pdelvo
Ich finde es dennoch ziemlich sinnfrei. Wenn man tatsächlich solch eine Methode braucht sollte man sich das Delegate meiner Meinung nach selbst definieren und die parameter vernünftig benennen. Sonst blickt da doch keiner durch.
LG pdelvo
Ich glaube an dieser Stelle kann man mal die Memory Mapped Files erwähnen. Damit kannst du dann die Entscheidung, was im Ram, und was nur im Hauptspeicher liegt dem Betriebssystem überlassen.
LG pdelvo
Du könntest in einem hidden feld eine zufällige zahl speichern in diesem Formular. Dann kannst du damit überprüfen, ob ein Formular mehrfach gesendet wurde.
LG pdelvo
Mit NAudia hast du sehr viele möglichkeiten wenn du mit Audiodaten arbeiten willst, auch wenn deine Anforderungen, wie herbivore sagte auch ohne recht einfach zu machen sind
Der Wikipediaartikel gibt aufschluss darüber wie man dort das Ende erkennen kann.
LG pdelvo
Ist die Transfer methode "chunked"?
LG pdelvo
Wie sieht denn deine Lösung aus? Damit andere mit dem selben Problem auch geholfen wird wenn sie diesen Thread hier finden.
LG pdelvo
Was ist denn die Fehlermeldung? Was funktioniert nicht?
Guck doch mal in die Event Logs. Wenn ein .net Fehler aufgetreten ist sollte dieser dort drin stehen.
LG pdelvo
Ich muss auch sagen das ich von dem Ladezeiten aktuell eher weniger begeistert bin. Visual Studio liegt bei mir auf einer SSD, braucht aber zum starten 8 Sekunden, und zum laden einer kleinen Solution mit 3 Projekten nochmal 10 Sekunden. Habe an Extensions Resharper und die ProductivityPower Tools installiert.
LG pdelvo
Super Danke 😃
LG pdelvo
Hallo!
Eine Sache die ich sehr praktisch finden würde ist, einen Link zur Startseite des Forums in diese Seite einzubauen.
Hintergrund: Ich habe als Lesezeichen einen Link zu den neusten Forenbeiträgen (http://www.mycsharp.de/wbb2/search.php?action=new). Und wenn es nichts neues gibt bekomme ich nur zwei Zeilen Text mit Link zur letzten aufgerufenen Seite. Wenn man das allerdings als Lesezeichen hat ist es sehr umständlich dann ins Forum zu gelangen.
Ein einfacher Link zur Startseite auf dieser Seite wäre sehr praktisch.
Lieben Gruß
pdelvo
Du solltest die CreateSchemaAsync methode so abändern, dass sie einen Task zurüpckgibt(Also auch die Basisklasse ändern, oder aber eine neue Methode schreiben anstatt zu überschreiben). Auch so macht es keinen Sinn CreateSchemaAsync nochmal in einem anderen Thread aufzurufen. Die Task.WaitAll Methode hat den großen Nachteil, das sie den aktuellen Thread anhällt, und damit die Ausführung stoppt. Besser wäre es, wenn du stattdessen ein WhenAll verwendest, und dort dann wieder ein await nutzt. So hast du keinen wartenden Thread mehr.
Demnach würde ich die Initialisierung so durchführen:
await Task.WhenAll(Tables.Select(a => a.CreateSchemaAsync(this)).ToArray());
Und CreateSchemaAsync anstatt void Tast zurückgeben lassen, oder eben eine neue Methode erstellen, die einen Task zurückgibt.
Vielleicht geben die Properties SelectionStart und SelectionLength einen Hinweis darauf wo sich etwas geändert hat.
Lieben Gruß
Dennis
Du kannst ja mit der Summenformeln die Summe der Zahlen von 1 bis n1 ausrechnen, und davon die Summe der zahlen von 1 - n2 abziehen
Als Windows 8 App hast du nur einen sehr eingeschränkten Zugriff auf das Dateisystem. Du kannst nur auf bestimmte ordner nur für deine App zugreifen, oder auf Dateien die der Nutzer explizit angibt (Der Dialog um eine Datei auszuwählen).
LG pdelvo
Ich habe es genutzt als es noch in der Testphase war. Ansich ne schöne Sache, aber der ewige Zwang online arbeiten zu müssen hat mich dann zu git gebraucht
AnkhSvn habe ich früher benutzt. Fand es wirklich gut. Mittlerweile bin ich aber auf Git umgestiegen.
Soll das Repository Open Source oder Closed Source gehostet werden? Für Open Source ist github mein absoluter Favorit. Dann müsstest du aber git anstatt svn nutzen. Wenn du auf Github closed source Projekte hosten willst muss du dann allerdings bezahlen. Ein Speicherlimit gibt es bei Github nicht.
An kostenlosen Closed Source hosting würde mir noch https://bitbucket.org/ einfallen. Selbst habe ich aber keine Erfahrung damit. Ob es dort ein Speicherlimit gibt weiss ich nicht.
Warum hast du so große Repositories? 500mb sind ja mehr als das komplette Repository des Linux Kernels. Hast du da haufenweise Bilder drin?
Du könntest eine Action, Action<t> und Func<T> bereitstellen.
Beispiel:
TResult MyMethod<TResult, TParameter>(Func<TParameter, TResult> function, TParameter value)
{
//...
return function(value);
}
//...
var result = MyMethod<string, string>(a=> MyCrazyMethod(p1, p2, p3, p4, ..., p99), test);
Ist die Klasse statisch, oder hast du irgendwo eine Instanz? du kannst dann entweder mit{x:Static} oder halt normalen bindings arbeiten.
Lg Dennis
Warum mchst du aus dem Property überhaupt einen string und nicht direkt einen double?
Wenn man dem Store nicht vertraut kann man auch selbst ein Bezahlsystem nutzen, ohne von Microsoft abhängig zu sein. Und dann auch 100% des Gewinnes nehmen.
LG pdelvo
[...]und Software für WP7 ist nicht auf WP8 lauffähig.
Wo hast du denn diese Fehlinformation her?
Mit dieser Version soll es nicht möglich sein für Windows8 entwickelte Apps zu verwenden.
Es empfielt sich die Quelle von Chip zu lesen. Der Redakteur hat definitiv Nachhilfe in Englisch nötig gehabt.
Once Windows Blue is released, the Windows SDK will be updated to support the new release and Microsoft will stop accepting apps that are built specifically for Windows 8, pushing developers to create apps for Blue. Windows 8 apps will continue to run on Blue despite the planned SDK changes.
Wenn die Datenbank das 10GB Limit nicht übersteigt sehe ich keinen Grund nicht die Express Version zu nutzen. Die kann auch problemlos kommerziell eingesetzt werden