前のスレッドで、回答者の 1 人が、wsHttpBinding を使用するとセッションが使用されると述べました。クラスター化された IIS 環境で作業しているため、これを無効にする必要がありますか? 私の知る限り、セッションはクラスターでは機能しません。
これを無効にする必要がある場合、どうすればよいですか?
前のスレッドで、回答者の 1 人が、wsHttpBinding を使用するとセッションが使用されると述べました。クラスター化された IIS 環境で作業しているため、これを無効にする必要がありますか? 私の知る限り、セッションはクラスターでは機能しません。
これを無効にする必要がある場合、どうすればよいですか?
それはおそらく私でした :-) デフォルトでは、サービスと使用されるバインディングによって、セッションが開始されるかどうかが決まります。
何もせずに wsHttpBinding を使用すると、セッションが作成されます。それを避けたい場合は、次のことを行う必要があります。
サービスがセッションを使用しないようにするには、次のようにします。
[ServiceContract(Namespace="....", SessionMode=SessionMode.NotAllowed)]
interface IYourSession
{
....
}
また、適切なインスタンス コンテキスト モード属性でサービス クラスをデコレートできます。
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
class YourService : IYourService
{
....
}
これにより、ほとんど安全な側にいる必要があり、セッションはまったく取得されません.
マルク