プロジェクトとクラス ライブラリがあります。
ストレージ アイテムを更新するには、クラス ライブラリが必要です。私のプロジェクトでは、これらのストレージ アイテムにアクセスする必要があります。lock
異なるプロジェクトの同じインスタンスで使用できますか? これは機能しますか?
プロジェクトとクラス ライブラリがあります。
ストレージ アイテムを更新するには、クラス ライブラリが必要です。私のプロジェクトでは、これらのストレージ アイテムにアクセスする必要があります。lock
異なるプロジェクトの同じインスタンスで使用できますか? これは機能しますか?
本当に同じオブジェクトをロックしている限り、それはまったく問題なく機能するはずです。異なる AppDomains を使用している場合、事態はより複雑になりますが、プロジェクト A とプロジェクト B の両方が、もともとプロジェクト C に由来するオブジェクトをロックしているだけであれば、問題にはなりません。
少なくとも、技術的にはうまくいくでしょう。個人的には、通常、ロックをできるだけ非公開にすることを好みます。たとえば、ロックをオンにしたり、他の場所から参照を取得したりするのではなく、ロックを唯一の目的とthis
するオブジェクトを作成することがよくあります。
public class Foo
{
private readonly object mutex = new object();
...
}
そうすれば、そのロックを取得できる唯一のコードは のコードであることがわかりますFoo
。これにより、ロックの推論が容易になります。