ユーザーにメールを送信するサービスがあります。「Debugger.Break()」を使用してデバッガーでサービスを実行すると、正常に動作しますが、次のような別のフォームで実行すると:
ServiceController service = ServiceController.GetServices().Where(s => s.ServiceName == "ServiceA").FirstOrDefault();
if (service != null)
{
if (service.Status == ServiceControllerStatus.Stopped) service.Start();
}
サービスが開きます。つまり、タスク マネージャーで自分のサービスを確認できますが、コードが機能しません。コードにはイベント ログ エントリがありますが、イベント ビューアーにエラー メッセージが表示されません。したがって、別のフォームでこのサービスを呼び出すと、コードが実行されないことを意味します。パーミッションの失敗はありますか? 私はそれについて何かを試みましたが、これを修正することはできません。なにが問題ですか?