Assembly.Loadを使用してロードされているDLLには、大きなデータセットを返す長時間実行するメソッドがあります。このDLLのさまざまなバージョンを実行するAppDomainsを作成することを考えています。しかし、私はAppDomainsを使用していないので、AppDomainの境界を越えてマーシャリング/シリアル化の複雑さとパフォーマンスについてはわかりません。同じタイプのファブリックアクターには同じdllの異なるバージョンを使用できますか?
したがって、AppDomainsを使用して探索する前にService Fabricのマイクロサービスアーキテクチャを利用してAppDomainsをバイパスできるかどうかは疑問です。
ありがとうございます!
異なるバージョンのDLLを使用する異なるアクターサービスを作成できます。さもなければ、単一のアクターで同じdllの異なるバージョンを使用することに重大な副作用(バグ、保守性)があります。 – alltej
@alltej問題は、これらのDLLがデータベースから動的に読み込まれることです。私はこれらのアクターが異なるプロセスで実行され、異なるAppDomainsを持つことを期待していましたが、私は間違っていました。 Assembly.Loadメソッドにアセンブリをリロードするためのオーバーロードメソッドまたは対応するUnloadメソッドがある場合は、問題が解決されます。 –