1 つのパブリック メソッドを持つ DLL を使用してプロジェクトを作成していますProcess();
このメソッドを 3 分ごとに呼び出すサービスがあります。
このメソッドを呼び出すコンソール アプリケーションもあります。
メソッドが現在実行されている場合、サービスが既に実行されている間、コンソール アプリケーションがそれを呼び出さないようにするにはどうすればよいですか?
1 つのパブリック メソッドを持つ DLL を使用してプロジェクトを作成していますProcess();
このメソッドを 3 分ごとに呼び出すサービスがあります。
このメソッドを呼び出すコンソール アプリケーションもあります。
メソッドが現在実行されている場合、サービスが既に実行されている間、コンソール アプリケーションがそれを呼び出さないようにするにはどうすればよいですか?
名前付きミューテックスを使用して、呼び出し元が同じメソッドを呼び出さないようにすることができます。
追記:
サービスが名前付きミューテックスを作成し、管理者として実行している場合、ミューテックスに適切な権限を設定しない限り、コンソールアプリにミューテックスへのアクセス権限がない可能性があります。
Mutexの使用を検討する必要があります。これは、MSDNからの詳細を含む記事です:http: //msdn.microsoft.com/en-us/library/hw29w7t1 (v = vs.100).aspx