0

独自のAppDomainにインスタンス化するオブジェクトがあります。これの主な理由は、私が制御していないコード(サードパーティのdll)を呼び出すためです。スレッドを中止する必要がある場合は、それを実行してからAppDomainを破棄して、問題が発生しないことを確認します。この部分は正常に機能します。

ただし、このオブジェクトには、私が制御するServiceReferenceへの参照もあります。サービス参照は2番目のAppDomainのオブジェクトにあるため、サービスがシリアル化可能としてマークされていないため、シリアル化例外が発生します。サービス参照は、Visual Studioによって生成されたプロキシであり、この問題を解決する適切な方法がわかりません。

使用する必要のある別のデザインはありますか、それとも別のAppDomain内からサービスを実行する簡単な方法はありますか?

ありがとう、スコット

4

2 に答える 2

0

私の問題を理解しました。MarshalByRefObjectから派生させるのではなく、Typeを[Serializable]としてマークしました。これを理解すると、すべてが正常に機能し始めたように見えました。

しかし、この新しいモデルを使用してCPUサイクルが数回あるので、満足できず、別の方法を探しています。別の「デザイン」の質問を後で投稿します。

ありがとう、

スコット

于 2013-02-18T22:59:12.217 に答える
0

私があなたの質問を正しく理解した場合、アプリドメイン間でオブジェクトを使用するには、.NetRemotingのようなものを使用する必要があります。

于 2013-02-16T22:25:08.443 に答える