1

メッセージ サービス用の Silverlight アプリケーションを作成しました。私の問題は、10接続後にSilverlightアプリケーションが切断されることです。しかし、私はそれを無制限または数千にしたいです。私はこの問題に多くの時間を費やしてきました。私のアプリケーションに関するいくつかのポイント:

  1. Silverlight プロジェクト、Web プロジェクト、wcf サービス プロジェクトのような 3 つのプロジェクトをビルドしました。
  2. we.bconfigで構成するwcf.でPollingDuplexHttpBindingを使用しています。
  3. Silverlight プロジェクトでは、サービス参照を追加し、pollingduplex バインディングを使用してサービス オブジェクトを作成しました。
  4. 次のような wcf サービス プロジェクトの web.config を構成しました。

  5. このプロジェクトをiis6サーバー2003サーバーでテストしましたが、問題は同じです。

この問題を解決するのを手伝ってください。

ありがとう

4

2 に答える 2

0

1 つの Internet Explorer を使用する場合、PollingDuplex ソフトウェアには 10 クライアントの制限があることに気付きました。Windows 2008 Server R2 マシンと Web.config に多くの設定があるため、制限はまだありました。

バインディングの場合: binding name="pollingDu plexBinding" maxConnections="100"

serviceBehaviors 動作の場合: serviceThrottli ng maxConcurrentCalls="1000" maxConcurrentIn stances="1000" maxConcurrentSessions="1000"

pollingDuplex の場合は maxPendingSession="2147483647" maxPendingMessagesPerSession=" 2147483647"

しかし、その後、さまざまなクライアントで試したとき:

  • サーバー上の IE 上の 6 クライアント

  • 別のクライアント マシン上の IE 上の 6 つのクライアント

  • このクライアント マシンの FireFox 上の 4 つのクライアント

そして、それはうまくいきました。したがって、同じクライアント接続には何らかの制限があります。

于 2012-08-17T15:38:52.690 に答える
0

問題は、IIS が実行できる同時スレッドの数です (現時点では 10 を実行するように構成されているようです)。IIS 構成によってその数を増やすことができますが、パフォーマンスは低下します。

問題は、IIS でホストされている Duplex Services がスレッドを解放しないことです...そのため、サービスに接続しているすべてのユーザーが別の IIS ワーカー スレッドを吸い上げます。デュプレックスのパフォーマンスについては別の場所で説明されていますが、共通のトーンは次のとおりです。

IIS はスケーラブルな二重サービスをホストできません。

私の提案は、これらのサービスをホストする別の方法を見つけることです (IIS 外の WCF、カスタム Web サーバーなど)。

幸運を。

于 2009-08-25T14:23:21.060 に答える