Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von padde77
Thema: Von verschiedenen Threads auf Hauptinstanz zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Kannst du mir einen kleinen Schub in die richtige Richtung geben?
Anhand eines kurzen Quelltextes?

Thema: Von verschiedenen Threads auf Hauptinstanz zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe so viele Threads, weil ich einen Socket Server am laufen habe und sich viele Clients verbinden.
Oder liegt hier schon das Problem?
Und ist mein Service, also die OnStart Methode auch schon ein eigener Thread?

Thema: Von verschiedenen Threads auf Hauptinstanz zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

die Logic ist nicht Multithreading fähig, bzw. würde die sich für jeden meiner Threads (bis zu 30 Stück) neu initialisieren (an die Logic selbst komme ich nicht dran, kann da also nichts ändern), was mehrere Sekunden dauert und für jeden Thread auch Daten ablegt (SQLite-DB lokal), die dann von dem erst aufrufenden Thread gesperrt sind. Also muss ich für jeden meiner Threads die Logic neu in einem Unterordner (wegen DB) initialisieren.

Daher die Frage, ob ich die Logic einmalig initialisieren kann und dann von meinen Threads auf die Methoden in der Logic zugreifen kann.

Thema: Von verschiedenen Threads auf Hauptinstanz zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich habe mal wieder ein Problem.
Ich habe einen Windowsservice welcher in der OnStart ein Plugin initialisiert.


public class Service : MyPlugin
{
  MyLogic = _logic;
  protected override void OnStart(string[] args)
  {
      _logic = new MyLogic();
      // initialisiere noch einige Dinge der Logic....
      ....
     // Dann werden hier einige unterschiedliche Threads gestartet
     Thread checkWorker = new Thread(check.Check);
     checkWorker.IsBackground = true;
     checkWorker.Start();
  }
}

Wie kann ich nun Daten zwischen den Threads und Funktionen meiner Logic austauschen, also in beide Richtungen?

Danke schön

Thema: Suche grafischen PDF Editor
Am im Forum: Rund um die Programmierung

Hi,

ich schreibe den Editor jetzt selbst, dann kann ich die Platzhalter per D&D selbst drauf packen und halt bei der PDF Erstellung die Positionen berechnen.

Thema: Suche grafischen PDF Editor
Am im Forum: Rund um die Programmierung

Hi,

kennt jemand vielleicht ein solches Tool?
Der User sollte ein PDF als Hintergrund laden können und auf diesen verschiedene Platzhalter via Drag&Drop ziehen können.
Beim späteren Erzeugen eines PDF sollen die Platzhalten genau an der korrekten Stelle sitzen und mit Inhalt gefüllt werden können. Das Hintergrund PDF ist nicht notwendig, es dient nur der Positionierung der Platzhalter.

Am Besten natürlich 4free. Zur Not darf es auch etwas kosten.

Vielen Dank
Patrick

Thema: Ist Replikation mit MSSQL 2014 und zwei rechnern (Master/Slave) realisierbar?
Am im Forum: Datentechnologien

Zitat
Warum habt ihr dann keinen zentralen Datenbankserver?
Frag lieber nicht....
Der Kunde besteht darauf, hab da leider keinen Einfluss. Deswegen ja die modernen WIN7 Kisten.

Thema: Ist Replikation mit MSSQL 2014 und zwei rechnern (Master/Slave) realisierbar?
Am im Forum: Datentechnologien

Hi nochmal,

es soll 2 Rechner geben auf welchen das identische Programm läuft. Die beiden Programme überwachen sich gegenseitig. Wenn also Rechner 1 ausfallen würde, soll Rechner 2 dessen Aufgabe übernehmen. Dazu benötigt Rechner 2 aber auch den gleichen Datenbestand aus der DB wie auf Rechner 1. Beide Datenbanken laufen auf den jeweilgen Rechnern, auf denen das Programm auch ausgeführt wird (daher beide localhost).
Wenn also Rechner 2 die Aufgabe von Rechner 1 übernimmt, sollen weiterhin Daten in die DB (in diesem Falle DB2 als localhost) geschrieben werden. Wenn Rechner 1 wieder zurück kommt, ist das Programm dort wieder der Chef. Braucht aber halt auch die Daten, welche auf Rechner 2 in die Datenbank geschrieben wurden. Daher die Frage, ob die Replikation Two-Way ist.

Zitat
Localhost und dann DB Replication... what?
Die DBs auf beiden Rechnern sollen sich syncen, die laufen nicht auf einer extra Instanz.
Zitat
Die Replikation macht das Programm..?
Das sollte aber Aufgabe der DB Engine/DBMS sein - nicht des Programms.
Genau so soll es sein, nur das schreibende Programm kann sich ändern.

Thema: Ist Replikation mit MSSQL 2014 und zwei rechnern (Master/Slave) realisierbar?
Am im Forum: Datentechnologien

Hi Abt,

naja, ich habe mich nicht so verständlich ausgedrückt.
Es gibt in dem Sinne keinen Master/Slave, da es immer nur 1 DB geben kann, in die geschrieben wird. Trotzdem muss ich die Daten in beiden DBs vorhalten. Daher sollte es kein Problem mit dem Merge der Daten geben.

Zitat
Beide Varianten (Two Way Merge, One Way Replication) kann der SQL Server seit bestimmt über 10 Jahren.
Dass ein Slave bei einem Abbruch zu einem Master wird, das kann der SQL Server IIRC nicht.
Aber der Express doch nicht, oder? Hab als Minimalversion die Standard gefunden, die das können soll.
Die DB muss da nichts machen, das macht das Programm.
Zitat
Bedenke, dass Windows 7 kein Serverbetriebssystem ist, wie alle Desktop-Betriebssysteme ein Connection Limit hat und Datenbanken von Microsoft generell kein Support auf Desktop-Betriebssystemen bekommt.
Vermutlich wird allein das Limit der Connections extreme Performance-Nachteile beim Betrieb von Datenbanken auf Windows 7 bringen.
Ich würde zudem nicht ausschließen, dass eine Replikation auf Windows 7 zu Problemen führen kann.
Läuft eh nur auf localhost und der Kunde will das nur auf WIN7 am Laufen haben.

Ist dann hier die 2014 Standard zu nehmen?

Danke und Gruß
Patrick

Thema: Ist Replikation mit MSSQL 2014 und zwei rechnern (Master/Slave) realisierbar?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL 2014 Version: ?

Hi,

ich benötige eine Datenbanklösung, welche die Daten auf 2 Datenbanken gleich vorhält.
Es sind 2 Rechner installiert, auf beiden läuft das gleiche Programm. PC2 springt aber nur ein, wenn PC1 nicht mehr antwortet, wird also quasi zum Master.
PC1 schreibt in die DB1. Diese soll die Daten in der DB2 gespiegelt vorhalten, falls PC2 zum Master wird und alle Daten benötigt.
Ist dies über die Replikation realisierbar? Es muss leider auch eine 2014 Version sein, da als OS Win7 verwendet werden muss.
Was passiert eigentlich, wenn PC2 Daten schreibt und irgendwann DB1 wieder kommt? Schreibt die DB2 die zwischenzeitlich veränderten/hinzugefügten Daten automatisch nach DB1?

Und würde die Standard Version des SQL-Servers reichen? Laut MS beharrscht die die Replikation.

Danke für eure Hilfe.

Patrick

Thema: WLan Access-Point geht nur ins interne Netz, nicht ins Internet
Am im Forum: Smalltalk

Ist ein neues Gerät. Welches auch explizit als AP beworben wurde.
Gateway ist natürlich korrekt eingetragen.
Muss aber mal schauen, ob da noch was an der Firewall zu machen ist, obwohl sonst alle anderen Geräte ins I-Net dürfen.

Thema: WLan Access-Point geht nur ins interne Netz, nicht ins Internet
Am im Forum: Smalltalk

Hi,

vielleicht kann mir hier jemand kurz helfen.
Ich habe an einer Netzwerkdose einen WLan-Router (Als Access-Point konfiguriert) angeschlossen.
Ins interne Netz komme ich damit problemlos rein, jedoch nicht ins Internet. Hattet ihr sowas schon mal?
Falls diese Frage hier fehl am Platze ist, bitte löschen.

Danke
Patrick

Thema: [erledigt] Warum wird nicht die originale config für eine DLL geladen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

@Palin: Danke für die Info.
Ist aber so schon OK.

Thema: [erledigt] Warum wird nicht die originale config für eine DLL geladen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi nochmal.
Ich wollte es nur wissen, warum das so ist.
Ich finde es ja gut, sonst müsste man ja x Configs pflegen.

Danke für eure Info.
Patrick

P.S. Sorry, ich werd das nächste mal auf den Titel achten.

Thema: [erledigt] Warum wird nicht die originale config für eine DLL geladen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich habe deine DLL geschrieben, inkl. einer app.config
Die DLL soll aus der Config Werte lesen.
Wenn ich die DLL jedoch in meiner EXE aufrufe, liest die DLL jedoch die Werte aus der Configdatei der EXE.

Kann mir jemand erklären, warum das so ist?

Danke

Thema: Infos anzeigen mittels Timer
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Th69
Dank dir, hab ich so gemacht, funktioniert.
Merci und Gruß
Patrick

Thema: Infos anzeigen mittels Timer
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

@Abt
Da geb ich dir Recht, deutsche und englische Bezeichnungen zu verwenden, ist natürlich Mist. Danke für den Tip!
Werde es dann wohl über einen 2. Timer laufen lassen müssen.

@Sir Rufo
Ja, die Globals ist eine Klasse. Wie kann ich das besser machen?

Dank euch
Patrick

Thema: Infos anzeigen mittels Timer
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

danke erst mal für deine Infos.
Globale Klassen sind es eher nicht, sondern eigentlich nur ein paar Strings u.ä. welche in verschiedenen Funktionen verwendet werden.
Wie die for-Schleife funktioniert, ist klar. Jedoch möchte ich nach jedem Durchlauf der Schleife 5 Sek. Pause machen und das Element i anzeigen. Thread.Sleep blockt aber die ganze GUI.

Warum sollte ich nicht die Funktionen auf deutsch benennen? Ist eine ernst gemeinte Frage.
Umlaute verstehe ich.

Dank dir.
Patrick

Thema: Infos anzeigen mittels Timer
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich möchte auf einem Form verschiedene Infomeldungen anzeigen lassen. Jedoch ist die Anzahl der Meldungen variabel.


Utils.FülleInfoQueue();
bsiInfo.Stop();
for (int i = 0; i < Globals.InfoQueue.Count; i++)
{
      bsiInfos.Caption = Globals.InfoQueue[i];                
}
bsiInfo.Start();

bsiInfo ist hierbei mein Haupttimer, der macht noch andere Sachen.
Globals.InfoQueue ist meine Liste von strings, welche angezeigt werden soll mit je 5 Sekunden pro Element.
Jetzt stehe ich nur grad ein wenig auf dem Schlauch, wie ich in der for-Schleife die Elemente abarbeiten kann.
Hätte da jemand einen Schubs in die richtige Richtung für mich?

Danke
Patrick

Thema: Linq-Query mit EF6 braucht sehr lange im Vergleich zum äquivalenten SqlQuery
Am im Forum: Datentechnologien

Hi @all,

Dass es beim ersten Aufruf etwas dauern kann, ist klar.
Aber was wir gestern auf einem anderen Rechner mit lokaler DB erlebt haben, ist heftig.
Erster Aufruf ca. 1,5 Sek, die nachfolgenden min 4 Sek mit EF.
Trotzdem werden wir jetzt direkt SQL verwenden.

Danke schön
Patrick

Thema: Linq-Query mit EF6 braucht sehr lange im Vergleich zum äquivalenten SqlQuery
Am im Forum: Datentechnologien

Hi nochmal.

Welchen Profiler meinst du Mr.Sparkles?
Abt. Dann kann ich mir das EF ja auch gleich schenken.
Ich versteh halt nicht, dass bei einer solch geringen Datenmenge der Unterschied bereits so gravierend ist.
Danke trotzdem.

Grüße
Patrick

Thema: Linq-Query mit EF6 braucht sehr lange im Vergleich zum äquivalenten SqlQuery
Am im Forum: Datentechnologien

Hi Mr.Sparkle,

hab ich auch schon durch, geht nicht.
Von EF kommt das:

SELECT 
    [Extent1].[ID] AS [ID]
    FROM [dbo].[Stammdatens] AS [Extent1]
    WHERE [Extent1].[CardID] = 522
wobei die 522 dynamisch ersetzt wird. Dauert auch ewig. Und auch die Abfrage nur auf die ID ist langsam.

Was noch langsam ist....meine Verzweiflung :-)

Dank dir trotzdem.

Grüße
Patrick

Thema: Linq-Query mit EF6 braucht sehr lange im Vergleich zum äquivalenten SqlQuery
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL

Hi,

ich verstehe es nicht.
Wenn ich meine Abfrage im DBContext ausführe:

var id = _abfrage.Stammdaten.FirstOrDefault(p => p.CardID == CardID).ID;
braucht die Anwendung ca. 2,5 Sek. bei ca. 10 Spalten und 10 Einträgen in der DB
Wenn ich die Query in der DB laufen lasse:

SELECT TOP(1)
    [Extent1].[ID] AS [ID]
    FROM [dbo].[Stammdatens] AS [Extent1]
	WHERE [Extent1].[CardID] = 522
bin ich bei 0,15 Sek.

Meine Klasse


   public class Stammdaten
    {
        [Key] public int ID { get; set; }
        public int CardID { get; set; }
}

Was mache ich hier falsch? Gibt es noch Einstellungen, welche ich übersehen habe?

Danke
Patrick

Thema: Threadsicher auf eine Abfrage zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi, ja, danke für eure Antworten.
Das mit dem Deadlock ist klar. und das mit den Patterns schaue ich mir mal an.

Danke für eure Informationen

Grüße
Patrick

Thema: Threadsicher auf eine Abfrage zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

...noch eine kurze Frage:

kann ich innerhalb eines locks eine andere Method mit Rückgabe aufrufen und wartet das lock trotzdem?
Kann leider nicht testen, da ich heute keine Testumgebung hier habe, daher die Frage, sorry.

also so:

lock(obj)
{
    var test = NeueMethode(parameter);
}

Vielen Dank

Thema: Threadsicher auf eine Abfrage zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

OK, ich werde mir das einmal ansehen.
Lock heisst dann, dass sich Thread 4, 8 und 9 hinten anstellen müssen, bis z.B. Thread 2 seine Rückgabe hat und die Methode sagt: "der nächste bitte". Korrekt?

Danke und Gruß
Patrick

Thema: Threadsicher auf eine Abfrage zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich habe eine Methode A, welche mir einen Ergebnisdatensatz zurück liefert, und zwar anhand eines Parameters. Diese Methode wird jedoch von verschiedenen Threads aufgerufen,
Thread 1 -> Methode A(1)
Thread 2 -> Methode A(2)
...

Mein Problem ist nur, dass in der Methode eine Abfrage auf eine DLL statt findet, und diese kommt nur mit einer gleichzeitigen Verbindung klar. Also kann müsste die Abfrage des 2., 3. usw. erst auf das Ergebnis des ersten Aufrufes warten.
Wie kann ich dies am besten bewerkstelligen?

Ein kleines Snippet wäre auch nett.

Danke Patrick

Thema: Wie am Besten Werte in eine DB schreiben, welche Untereinträge hat, und diese wiederum welche?
Am im Forum: Datentechnologien

Hi,

cool, vielen Dank!!

Gruß
Patrick

Thema: Wie am Besten Werte in eine DB schreiben, welche Untereinträge hat, und diese wiederum welche?
Am im Forum: Datentechnologien

Hi Rufo,
eigentlich nur, dass es eine Nebenproduktionsstätte ist.

@ Abt, ähm, nein, May to Many zwischen Haupt und Verantwortlichem und many to many zwischen Neben und Verantwortlichem und auch one to many zwischen Haupt und Neben.

Trotzdem 4 Tabellen?

Vielen Dank schon mal

Patrick

Thema: Wie am Besten Werte in eine DB schreiben, welche Untereinträge hat, und diese wiederum welche?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MySQL

Hi,

ich habe nichts in der Suche gefunden, und hoffe, ich formuliere die Frage verständlich.

Ich habe eine Datei (Aufbau lasse ich mal aussen vor), in welcher
- Produktionsstätten (1 mal)
- Nebenproduktionsstätten (n mal)
- Verantwortliche (n mal)

stehen.

Eine Produktionsstätte kann mehrere Nebenproduktionsstätten haben und auch mehrere Verantwortliche, welche dann für alle (Haupt und Neben) verantwortlich sind.
Wie bilde ich das am Besten in einer Datenbank ab?

Haupt | Neben | Verantwortlich

würde sich ja ewig potenzieren, da Haupt * Neben * Verantwortlich schon eine stattliche Anzahl ergeben würden.
Oder sollte das über 3 Tabellen laufen?

Was wäre der beste Weg?

Vielen Dank
Patrick