1

これが私のシナリオです:IISでホストされているwcfサービスがあります。wcfサービスは、MyWcfとMyClassの2つの主要なクラスで構成されています。MyWcfは、すべてのサービスエンドポイントで構成されています。

<ServiceContract(SessionMode:=SessionMode.Allowed)> Public Interface IMyWcf
    <OperationContract()> Function GetListing As DataTable
End Interface
<ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerSession, ConcurrencyMode:=ConcurrencyMode.Multiple)> Public Class MyWcf
    Implements IMyWcf
    Public Function GetListing As DataTable Implements IMyWcf.GetListing
        Return MyClass.GetSomeDataTable
    End Function
End Class

MyClassにはすべての共有メンバーが含まれます

Friend Class MyClass
    Friend Shared Function GetSomeDataTable As DataTable
        'some code
    End Function
End Class

私が確認したいのはこれです:この設定では、2つのクライアントが同時にGetListing関数を呼び出す場合、両方がGetSomeDataTable関数の同じインスタンスを使用しているか(関数が共有されているため)、両方のクライアントが終了しますGetSomeDataTable関数(およびMyClass内の他のすべての共有メンバー)の異なる/一意のインスタンスを取得する

前もって感謝します

4

1 に答える 1

0

WCFアプリを開発するためのテクニック

Windows Communication Foundationは、クライアントと特定のサービスインスタンス間のプライベートセッションを維持できます。クライアントがセッション対応として構成されたサービスへの新しいプロキシを作成すると、クライアントは、同じサービスの他のすべてのインスタンスから独立した新しい専用サービスインスタンスを取得します。

于 2012-12-14T21:13:38.887 に答える