Die Frage ist ziemlich im Titel, aber ich werde es ausarbeiten.Eine oder mehrere AppDomains, die serverseitig erstellt wurden, wenn mehrere Clients einen WCF-Dienst aufrufen?
Ich habe eine Silverlight-Anwendung, die als eine leicht erweiterte Benutzeroberfläche fungiert.
Der Hauptteil meines Programms wird auf einem Server laufen, um die gemeinsame Datenbank kohärent zu halten.
Hier kommt meine Frage: Erhalten zwei Clients, die einen WCF-Dienst aufrufen, jeweils einen Thread in diesem Dienst ODER erhalten sie jeweils eine vollständige AppDomain?
Der Unterschied ist, dass wenn die erste der Fall ist, sie die DB leicht teilen können, aber im zweiten Szenario können sie nicht - wie ich es verstehe.
BEARBEITEN: Dies liegt daran, dass die DB das Identity Map Muster [Fowler] verwendet, wo verwendete Objekte im physikalischen Speicher gespeichert werden (statische Singleton Variable) - mehrere AppDomains würden dies durcheinander bringen.
(bat ich meinen Hochschullehrer und suchte einiges bevor diese zu fragen, scheinbar einfache Frage)
Diese Frage kann eine gewisse Beziehung haben, obwohl ich nicht mehrere appdomains eingerichtet habe: http://stackoverflow.com/questions/7984803/multiple-instances-of-service-across-appdomains –
Jede eingehende Anfrage wird erhalten eine eigene neue Instanz der Dienstklasse, um die Anfrage zu bearbeiten (im Standard-Szenario pro Anruf) - aber keine eigene App-Domäne, soweit ich weiß. Also zwei Anfragen werden zwei separate, unabhängige Kopien der Service-Klasse sein –