2

IIS(IIS 8)でホストされているWCFサービスがあります。サービスは通話ごとモードであり、同時実行モードは複数に設定されています。約600のクライアントが接続しています。HTTPSエンドポイントがあります。また、net.tcpエンドポイントがありますが、それは使用されません。すべてではありませんが、一部のクライアントは非常に奇妙な問題に直面しています。しばらく使用すると、クライアントは動作を停止します。エラーログがあり、クライアント側で次のようなエラーが表示されます

There was no end point listening at ...

サーバーまたはサービスにエラーはありません。サービスは正常に機能しているようです。ブラウザからサービスページを閲覧できますが、他のクライアントは引き続きサービスを利用できます。トレースを実行しても効果はありません。私はそれを理解しようと十分な時間を費やしましたが、運がありませんでした。さらに、同じコンピューター上でクライアントを再起動するだけで機能し、同じサービスに接続しているように見えます。クライアントはWinFormsアプリケーションです。自分のマシンでDNSフラッシュを実行しましたが、それでも役に立ちません。

考えられる問題は何ですか?私の頭に浮かんだのは、クライアントが名前を解決できないかもしれないということですが、それはそもそも接続することと矛盾しています。サービスがダウンしている可能性がありますが、他のクライアントはまだ同じものを使用しており、問題は発生していません。Win XPを使用しているため、クライアントマシンに問題がある可能性がありますが、それが問題になるかどうかはわかりません。または、断続的なインターネット接続が原因で問題が発生する可能性があります。

誰かがこれまでにそのような問題に直面したことがありますか?いくつかの洞察は本当に役に立ちます

4

1 に答える 1

3

IISは、一度に限られた数のクライアントにのみサービスを提供できます。次に、追加のリクエストをキューに入れます。そのキューも制限されています。そのキューがいっぱいになると、IISは500エラーを返します。これは、「...でリッスンしているエンドポイントがありませんでした」と解釈されます。

このコードを試してみてください。

public void Main()
{
    while(thereIsStillThisProblem)
    {
        var pc = new Pc();
        pc.OS = new Windows2012();
        pc.Start();
        pc.Software.Add(new ServiceHost());
    }
}

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/iis/64e30660-d2f0-4e90-98cc-1652214a2b93.mspx

編集:.net 4.5を使用している場合、実行できることがもう1つあることを思い出してください。ジョン・スキートに説明させてもらいます。

于 2013-03-07T15:12:23.603 に答える