2011-07-21 7 views
0

サービス属性SessionMode.NotAllowedおよびserviceThrottlingのmaxConcurrentSessionsは、wshttpbindingと同時に使用できます。SessionMode.NotAllowedとwshttpbindingのmaxConcurrentSessions

これはおそらく、セッションの2つの異なる概念を指しているのでしょうか?

など。 SessionMode.NotAllowed =ステートレスサービス。
maxConcurrentSessions = max。同時(異なる?)セキュリティ交渉。

編集:私は「WCFは、[maxConcurrentSessions]属性[SessionMode.NotAllowed]と一致していることはapp.configをチェックして、彼らは一貫していない場合は、サービスを開始することを拒否します」と理解しているthis answer to another questionから

SessionMode.NotAllowedが宣言され、セッションの使用が無効になっている場合、WCFはmaxConcurrentSessionsの設定が矛盾しているためにWCFがサービスの開始を拒否するべきではありませんか?

答えて

1

SessionMode.NoAllowedは契約なしに、それは

maxConcurrentSessionsがありますセッションを抑制しますWSHttpBindingのために、これはその本質sessionfulとして開始するサービスを妨げるNETTCPのステートレスな方法

で実装されなければならないことを言いますSessionMode.NotAllowedを使用してスロットルするセッションがないため、有効です。

WSHttpBindingは、SecureConversationを使用してセッションの概念をサポートしています。それが利用できない場合は、信頼できるメッセージングが利用可能であれば使用します。どちらも利用可能である場合、それは私がしばらく応答したバック

更新が

セキュアな会話を編集するとセッションが同じものではありませんこのようなものについてblog articleを書いたセッション

をサポートすることはできません。セキュアな会話は、セッションを持っているかどうかにかかわらず使用できます。 WSHttpBindingがセッションをサポートする1​​つの方法は、セキュアな会話のネゴシエーションを使用してセッションを定義することです。ただし、SessionMode.NotAllowedと言う場合、WCFはセッションIDを持たずセッションをサポートしません。つまり、安全な会話を使用しないことを意味しません。

maxConcurrentSessionsは最大同時セッション数を制限します。セッションを無効にすると、セッション数は0になるため、常に最大値よりも小さくなります

+0

編集した質問をご覧ください。私が達成したいのは、「セッションなし、状態なし」だけでなく、最初の呼び出しで一度認証してから、この安全な接続を維持することです。 – Gerard

+0

ありがとう私は論理的に戻る。 – Gerard

関連する問題