を閉じていないとき400インスタンスが呼び出した後、私はあなたがプロキシを閉じるに失敗したときに何が起こるかを調査するために、次のコードを使用しています:WCFクライアントのタイムアウトプロキシ
class Program
{
static void Main()
{
for (int i = 1; i < 500; i++)
{
MakeTheCall(i);
}
Console.WriteLine("DONE");
Console.ReadKey();
}
private static void MakeTheCall(int i)
{
Console.Write("Call {0} - ", i);
var proxy = new ServiceReference1.TestServiceClient();
var result = proxy.LookUpCustomer("123456", new DateTime(1986, 1, 1));
Console.WriteLine(result.Email);
//proxy.Close();
}
}
サービスバインディングnet.Tcpを使用している、ホストされています、すべてのデフォルト値。
これを実行すると、400を超えるとタイムアウトになります。なぜ400ですか?これは設定です。私はそれがmaxConnectionsよりもずっと少ないと予想しました。
ありがとうございます。しかし、クローズプロキシラインのコメントを外すと、500回の繰り返しがすべて正常に完了しますので、サービス調整を行うことは確実ではありません。思考? –
遅れて申し訳ありませんが、私はこの回答を忘れていました。 WCFで確立されるさまざまな種類のセッションのために、サービスの調整が引き続き有効になる可能性があります。すべてのセッションが許容される最大セッションに対してカウントされるアプリケーション(つまりセッションごと)、トランスポート、セキュリティ、および信頼性の高いセッションタイプがあります。クライアントを閉じると、セッション終了プロセスが完了し、サーバー側のリソースが解放される可能性があります。唯一の「セッションレス」バインディングは、認証が設定されていないbasicHttpです。他のバインディングは、ある種のセッションを使用してその機能を実装します。 –