2016-04-22 10 views
0

従来のexeファイルを使用するWCF Webサービスを作成しようとしています。以下は私が使っているアーキテクチャです。今結果がWebサービスで詰まった

enter image description here

私は大きな問題を取得します。このexeは、一度に1つの要求にしか応答できません。だから私はそれをWebサービスで同期的に実行する必要があります。

残念ながら、このWebサービスを使用するアプリケーションは、非同期要求のみを送信できます。私はそれを変更する許可を持っていません。

この問題により、ログファイルが詰まって結果が不明です。

私はこれをWebサービス側から解決できますか?何か案が ?

+0

あなたが一度に一つのことで何を意味するのですか?マシンごと?ユーザーあたり?実行可能ファイル名ごとに? – dotctor

+0

要求を収集し、それを1つずつ処理するワーカーを作成することができます。 WebServiceはcmdの代わりにworkerを呼び出します。または、cmdからワーカーまたはWebServiceに機能を移すことができます。 – BWA

+0

BWAによると、これは何らかのメッセージキューシステムを必要としているようです。 – Nyerguds

答えて

3

ConcurrencyModeを使用してWCFサービスを構成することができます。これは、Singleに設定できます。これにより、単一のスレッドのみが許可されます。ドキュメントから

各インスタンスのコンテキストは、一度にインスタンスコンテキスト内の1つのスレッド 処理メッセージの最大値を持つことが許されます。他のスレッド は、元の スレッドがインスタンスコンテキストを終了するまで、同じインスタンスコンテキストを使用する必要があります。

https://msdn.microsoft.com/en-us/library/ms731193(v=vs.110).aspx

関連する問題