興味深い問題がありました(C#/ WPFアプリケーション)。このコードを使用して、アプリケーションの2番目のインスタンスが実行されないようにしています。2番目のインスタンスを防ぐためのC#ミューテックスの問題
Mutex _mutex;
string mutexName = "Global\\{SOME_GUID}";
try
{
_mutex = new Mutex(false, mutexName);
}
catch (Exception)
{
//Possible second instance, do something here.
}
if (_mutex.WaitOne(0, false))
{
base.OnStartup(e);
}
else
{
//Do something here to close the second instance
}
私はコードをOnStartupメソッドの下でメインexeファイルに直接置くとうまくいきます。しかし、同じコードをラップして別のアセンブリ/ dllに入れ、関数をOnStartupメソッドから呼び出すと、2番目のインスタンスが検出されません。
提案がありますか?
ありがとうございました。今は少し恥ずかしい感じ、それは私の部分にカウボーイのミスだった:( –