2010-12-05 14 views
1

WCFサービスを使用している静的なDLLを構築しています(WCFサービスへのサービス参照があります)。WCFクライアントアプリケーション間で静的なDLLを共有する

static dllには、プロセスにとって重要なローカル静的変数があります。

dllは、複数の種類のGUIで消費されます。

  1. WPFユーザーコントロール。
  2. 各1は、クライアントのダースを持っていますWPFアプリケーション

一人で立っています。

質問:DLLを共有フォルダに置くと、すべてのクライアントに1つのDLLを使用できますか?それとも他の方法を提案できますか?

ありがとうございました。

答えて

4

私が間違っている場合は訂正してください。ただし、同じDLLを共有する必要はなく、複数のクライアント間で同じ状態/値を共有する必要があると仮定します。

複数のクライアントがそれぞれ独自のプロセスでDLLをロードすると、静的な情報が共有されなくなります。

スタティックステート/変数は同じ内で共有されますAppDomainのみ。したがって、これらのさまざまなクライアントすべてが同じ共有状態にアクセスできるようにしようとしている場合、共有場所からDLLをロードすることは役に立ちません。

複数のアプリケーション間で共有情報を使用する1つのソリューションは、共有状態を提供するサービス(WCFでもよい)を持つことです。

+0

ありがとう、それは徹底的な答えです。 – Igal

0

"静的DLL"の意味を完全にはわかりません。言語学的に言えば、これは擬態語です(DLLは "ダイナミックリンクライブラリ"を意味します)。静的リンケージのようなものを参照している場合、そのようなものは.NET(AFAIK)によって直接サポートされていません。

+0

public static class DLLClassName() { ... } – Igal

+0

あなたは静的クラスを使用しています。しかし、それはあなたがどんな種類の集会を変更することはありません。 – chris

関連する問題