0

Visual Studio 2012 で同じ WCF サービスの複数のインスタンスを実行しようとしています。サービスはステートフルである必要があるため、[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]. サービスは、どのクライアントがサービスに接続しても状態を維持する必要があるという点で、サーバーの動作を模倣する必要があります。

これどうやってするの?

- - 編集 - -

例: Shop1、Shop2、および Shop3 というサービスの 3 つのインスタンスがあります。それぞれが「状態」として独自のバランスを持っています。Client1 と Client2 が Shop1 から何かを購入すると、Shop1 の残高が増加します。クライアント 3 が Shop2 から何かを購入すると、残高が増加します。

意図は、Shop1、Shop2、および Shop3 が異なるマシンでホストされることですが、テスト目的で、同じマシンで実行したいと考えています。

4

1 に答える 1

0

双方向に対してコールバック モデルを使用すると、より多くのクライアントを処理できます

また

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]静的プロパティに状態を設定して保存する


var serviseHost1 = new ServiceHost(typeof(Shop));
serviseHost1.AddServiceEndpoint(typeof(Shop), binding, endpoint);
serviseHost1.Open();
var serviseHost2 = new ServiceHost(typeof(Shop));
serviseHost2.AddServiceEndpoint(typeof(Shop), binding, endpoint);
serviseHost2.Open();
于 2013-01-18T09:20:22.567 に答える