2012-02-22 1 views
2

STA Visual Basic 6.0 COMオブジェクトを呼び出すWCFサービスがあります。 1人のクライアントだけがサービスを使用している場合はすべて正常に動作しますが、同時に使用するユーザーが呼び出すとすぐに、COMオブジェクトのメソッドの1つを呼び出すときに問題が発生し、あらゆる種類のランダムエラーが発生します。WCFサービスでSTA Visual Basic 6.0 COMオブジェクトを呼び出すためのベストプラクティス:同時アクセス

最初に、記事の助けを借りてSTAOperationBehavior属性のサポートを追加することでこの問題を解決しましたCalling an STA COM Object from a WCF Operation

これは大いに役立ちましたが、しばらくの間、すべてがうまくいくように見えましたが、複数のユーザーがサービスを呼び出しているときに特定のサーバーでSystem.AccessViolationExceptionエラーが発生しました。

これはおそらくスレッドの問題だと読んだので、私は自分のWebサービスでmutexまたはinstancecontextを使うべきです。

同時ユーザーがSTC COMオブジェクトをWCFサービスで問題なく使用できるようにするためのベストプラクティスは何ですか?

答えて

3

オブジェクトが複数のユーザーによって同時に使用されるように設計されていない場合は、複数のユーザーがそのオブジェクトを使用できるようにすることはできません。

+0

私はそれが複数のユーザーによって使用されるものではないと信じています。複数のユーザーが同時にCOMオブジェクトにアクセスするのを防ぐためにmutexを使用することをお勧めしますか?それはWCFサービスの良い解決策ですか? – user405723

+0

それは_ただの解決策です。 –

+0

ありがとう、ありがとう – user405723

関連する問題