13

かなりのグーグルでこれに出くわしていません。

クラス名を次のように装飾することでインスタンスを設定できることはわかっています。

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, 
                 ConcurrencyMode = ConcurrencyMode.Multiple)]

しかし、これをweb.configファイルで指定できますか?

web.config /でスロットリング (最大同時ユーザー数など) を指定できること、app.configおよびここでの数値にはインスタンス モードに応じたコンテキストがあることはわかっていますが、モードを指定する方法 (ほとんどの場合、app.config/の動作セクションweb.config)?

当初は、Windows サービスを使用する予定でした。現在は WAS を使用しています。WASは何か違いがありますか?各「呼び出しごと」のリクエストは、パイプライン操作として独自の「サーバー」を取得しますか?

ありがとう

4

3 に答える 3

10

InstanceContextModeすぐに使用できる機能を使用してweb.configを変更することはできませんがConcurrencyMode、カスタム拡張機能(動作またはカスタムServiceHost+ ServiceHostFactory+構成セクション)を記述してそれを行うことはできます。これは、サービスクラスの属性で定義せずに変更する方法の例です。InstanceContextMode

WASでの処理は同じです。各サービスタイプには独自のサービスホストがあり、各リクエストは独自のスレッドで処理されます。

于 2011-04-26T08:05:30.507 に答える
1

構成ファイルでInstanceContextModeとConcurrencyModeを構成したり、WCFに制限を組み込んだりすることはできません。これには、MSに理由があると確信しています。

WASでのホスティングについて、IIS 7 / 7.5を使用するWebサーバーがある場合は、IIS管理を使用してサービスを管理し、そこから多くの組み込み機能を取得できるため、WASを使用してサービスをホストすることをお勧めします。

于 2011-04-26T08:01:26.590 に答える