0

ASP.NET 3.5 で実行されている REST サービスがあり、WCF サービスにヒットするクライアントからの複数の同時非同期呼び出しがあります。それらはすべて、並列呼び出しではなくシリアル化 (順次) されます。ここに私の設定があります

InstanceContextMode = InstanceContextMode.PerSession

ConcurrencyMode = ConcurrencyMode.Multiple

web.config - 調整値

<serviceThrottling maxConcurrentCalls="64" maxConcurrentInstances="64" maxConcurrentSessions="64"/>

コードにはセッション書き込みはありません。

私のWCFを並行させるために何が欠けていますか?

4

2 に答える 2

0

それが起こったと仮定して、PerSessionモードを引き起こします。さまざまなクライアントからサービスを呼び出してみてください。そうすると、並列呼び出しが発生すると思います。

セッションごとのサービスでは、最大インスタンス数は、同時にアクティブなインスタンスの総数と同時セッションの数の両方になります。

呼び出しごとのタイプのサービスを使用できます。インスタンスの数は、実際には同時呼び出しの数と同じです。または、 「Begin ...()」などの非同期メソッドをクライアントで使用できます。

于 2012-10-22T20:44:45.147 に答える
0

同様の問題がありましたが、昔ながらの .aspx ページを使用していました。呼び出しをいくつ行っても、IIS はそれらを並列ではなく逐次的にしか処理していませんでした。

問題は、現在のページがセッションでロックされていることが判明したため、一度に 1 つのページしかセッションにアクセスできず、シリアルにアクセスできませんでした。

あなたの問題が同じ問題によって引き起こされているかどうかはわかりませんが、始めるには良い場所かもしれません.

于 2012-10-22T20:55:07.353 に答える