Statische Variablen in WCF

8

Ich habe einige WCF-Dienste. Diese Dienste werden in ASP.NET ausgeführt. Ich möchte, dass diese Dienste auf eine statische Variable zugreifen können. Mein Problem ist, ich bin mir nicht sicher, wo der geeignete Speichermechanismus auf Serverebene ist. Ich möchte die Datenbank wegen der Geschwindigkeit nicht verwenden. Aber ich möchte, dass die statischen Variablen so lange wie möglich im Speicher bleiben. In der Tat würde ich gerne bleiben, bis ich meinen Server neu starte, wenn es alles möglich ist.

Kann mir jemand irgendwelche Ideen geben?

    
user609886 13.02.2011, 13:22
quelle

3 Antworten

14

Sie können in WCF statische Variablen verwenden, müssen jedoch den Zugriff auf diese Variablen ordnungsgemäß synchronisieren, da auf sie möglicherweise gleichzeitig von mehreren Threads zugegriffen werden kann. Die in statischen Variablen gespeicherten Werte sind von überall in der AppDomain zugänglich und bleiben im Speicher, bis der Server neu gestartet wird.

    
Darin Dimitrov 13.02.2011 13:23
quelle
4

Sie könnten so etwas haben

%Vor%

Die Anwendung Sammlung selbst ist Thread-sicher, aber die Dinge, die du hinzufügst, sind vielleicht nicht; also behalte das im Hinterkopf.

    
Bala R 13.02.2011 13:34
quelle
0

Wenn sich alle Dienste in einem einzigen ServiceContract befinden und alle Mitgliedsvariablen in Ihrem Dienst für alle Sitzungen freigegeben werden, können Sie ServiceBehavior auf ein eine einzelne Instanz .

%Vor%     
WhiteKnight 02.04.2014 14:03
quelle

Tags und Links