私は WCF の初心者で、さまざまなインスタンス管理手法を理解しようとしています。Per-Call および Singleton インスタンス モードは理解できますが、セッション インスタンス モードごとに混乱しています。この場合、クライアントごとに個別のセッションが作成されますよね? しかし、私の場合は起こりません:
私のWCFサービス: -
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession )]
public class CounterService : ICounterService
{
int _counter = 0;
public int GetCount()
{
_counter++;
return _counter;
}
}
クライアントコード:-
static void Main(string[] args)
{
CounterServiceReference.CounterServiceClient proxy = new CounterServiceReference.CounterServiceClient();
CounterServiceReference.CounterServiceClient proxy1 = new CounterServiceReference.CounterServiceClient();
Console.WriteLine("WCF Instance mode: Per Session");
Console.WriteLine("Invoking WCF service...");
Console.WriteLine("Counter: {0}", proxy.GetCount());
Console.WriteLine("Counter: {0}", proxy.GetCount());
Console.WriteLine("Counter: {0}", proxy.GetCount());
Console.WriteLine("---------------------------------------");
Console.WriteLine("Counter: {0}", proxy1.GetCount());
Console.WriteLine("Counter: {0}", proxy1.GetCount());
Console.WriteLine("Counter: {0}", proxy1.GetCount());
Console.ReadKey();
}
しかし、コンソールは結果を 1,1,1---1,1,1 として表示していますが、1,2,3---1,2,3 のはずだと思います どこか間違っていますか? 助けてください!ティア