特WCFるので、その中に投下しないでください適切に
-
21-09-2019 - |
質問
して、WCFサービスを開催中IIS.現在は荷重の異なるクライアントアプリケーション呼び出します。WS-SecureConversionを使用します。
現在の診断サービスのログを示して警報セキュリティセッションが中断されました。ることのないシンクライアントを適切に明することは重要である。
詳細情報:この問題は、"保留"セキュリティです。それはセッションが利用したことのない、開かれます。これがかなり面倒していき、最大128な保留中セッションの前にサービスを開始barfing500s.
こ簡単に再現できる(応答する。このクエリ128SessionInitiationMessageHandlers用windbgの.これは良い測定をこのシナリオ。
ただ、この特定"マナー違反"クライアントが役立ちます。
について アレックス
解決
以来、クライアントとサーバのシェアなメッセージ関係性をもつことのないようで、いくことができる。
サーバ側では、見てビットの情報をクライアントから送られてきたチェックを OperationContext.Current
物件サービス方法にする必要はないと思います。 MSDN文書OperationContext 詳細については何です。
いることができるかもしれませログイン情報の特定に違反した"。
Marc
他のヒント
スウィート....安全な変換とWCFサービスを殺すために最善の方法は何もしないことのようです。
ServicePointManager.ServerCertificateValidationCallback += delegate { return true; };
var client = new MyClient();
client.ClientCredentials.UserName.UserName = "user";
client.ClientCredentials.UserName.Password = "password";
while(true)
{
Console.WriteLine("OPEN");
var c = client.ChannelFactory.CreateChannel();
((ICommunicationObject)c).Open();
// If I comment the following line, the service throws a
// "Too busy, too many pending sessions" 500.
var request = new MyRequest { };
c.Do(request);
// Of course I did *not* comment this line
((ICommunicationObject)c).Close();
}
一方、このバグは、MSによって確認されているが、まだMSがそう言っても、.NET 4.xで残ってます:
http://connect.microsoft.com/VisualStudio/feedback /ViewFeedback.aspx?FeedbackID=499859する