File Acces & WatchDog - Komunikation über files
-
Hi,
Ich habe mir für ein kleines Programm (ein Master, 3 Slaves(auf verschiedenen PCs)) ein Protokoll geschrieben.
Es wird über ein File auf einem net share "kommuniziert" (Slaves sagen nichts).Die Slaves lesen in schleifen aus und reagieren darauf.
Dabei kann es zu Problemen kommen, wenn sowohl Slave als auch Master auf das File gleichzeitig zugreifen.Jetzt habe ich dazu paar Fragen:
Prinzipiell: Ist es möglich ein File so im Read-Only Mode zu öffnen,
dass es nicht zu Problemen kommt mit anderen Programmen die darauf zugreifen?
Da vom Slave ja nur gelesen wird, und vom Master nur geschrieben.Da ich als ich das „Protokoll“ geschrieben habe noch nichts von File.WatchDoges gehört hatte,
dachte ich, dass es mit dem auch verbessern ließe.
Nur wie arbeitet der, das er das auch richtig mit bekommt (über Net share)?
Außerdem müsste ich dann den Slave auf Event Driven Architektur umstellen.
Da der Rest des Programms aber sehr linear/prozedural ab läuft, wäre das ein Problem …
-
Ich weiß, das willst du jetzt nich diskutieren, aber wieso willst du über file kommunizieren und nich über andere Wege WCF/TCPIP etc.?
-
NullbockException schrieb:
Ich weiß, das willst du jetzt nich diskutieren, aber
Da hast du absolut recht! Sonst würde ich vermutlich danach fragen
NullbockException schrieb:
wieso willst du über file kommunizieren und nich über andere Wege WCF/TCPIP etc.?
Weil es so schon implementiert ist.
Es sind einige Änderungen zu machen, aber ich habe nicht vor das komplett um zu stricken. Wenn ich nochmal so was machen würde, würde ich vl auf was anderes setzen. Aber wie du richtig erkannt hast solls darum ja nicht gehen.
-
Hey,
ja ich verstehe dich:) Es gibt natürlich Möglichkeiten Datein "shared" zu öffenen etc. und parallel zu lesen.. würde ich aber nicht empfehlen.. die mühe die du dir dabei machen musst für die Konsitenz der Daten wäre mir zu stressig.. und es is "uncool";)
nen WCF Service Master (Host) , Clients (Proxies) hast du inn 2h implementiert, geht ratz-fatz.. nur keine hemmungen für neues..
-
NullbockException schrieb:
ja ich verstehe dich:) Es gibt natürlich Möglichkeiten Datein "shared" zu öffenen etc. und parallel zu lesen.. würde ich aber nicht empfehlen.. die mühe die du dir dabei machen musst für die Konsitenz der Daten wäre mir zu stressig..
Naja wie sieht den das aus?
Ich verstehe auch nicht ganz wie das Problem aussieht. Denn ieiner soll NUR LESEN und der andere NUR SCHREIBEN. Da brauchen die sich doch keine Sorgen machen. Wenn beim Lesen etwa ein "sinnloser" Wert gelesen wird, gilt das als ungültig. Beim nächsten mal kommt der richtige.
Beim schreiben wird bein hart drüber gebügelt ...So ist da meine Vorstellung
Was ich eben nciht verstehe, wozu es (abei vielen Programmiersprachen) die verschiedenen Modi zum öffenen der Datei gibt, wenn beim lesen scheinbar auch für alles andere geblockt ist.
NullbockException schrieb:
und es is "uncool";)
Zum glück stört es mich nicht wer oder was cool ist ...
NullbockException schrieb:
nen WCF Service Master (Host) , Clients (Proxies) hast du inn 2h implementiert, geht ratz-fatz.. nur keine hemmungen für neues..
Mag sein, das du das in 2 Stunden machst, für mich bezweifle ich das einfach mal. Zumal das dann ja auch integriert werden will und nicht für sich als Selbstzweck dient. Ich habe auch keine Hemmungen vor etwas neuem. Nur steht einfach was anderes nicht zur Diskussion.
-
Da es mich jetzt ncoh immer interessiert,
wollte ich nochmal fragen wie den so ein shared öffnen aussieht?
-
Sieh dir mal File, FileAccess, FileShare und FileSystemWatcher in der MSDN an. Und dann mal Google nach "c# open files shared" suchen lassen.