簡體   English   中英

無法在計算機“。”上啟動服務。

[英]Unable to start a service on computer '.'

我有啟動和停止服務代碼

開始:

ServiceController service = new ServiceController("MyService");
service.Start();
var timeout = new TimeSpan(0, 0, 5); // 5seconds
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
btnTxt = "Stop Service";

停止:

ServiceController service = new ServiceController("MyService");
service.Stop();
var timeout = new TimeSpan(0, 0, 5); // 5seconds
service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
btnTxt = "Start Service";

當我直接在Windows窗體應用程序中使用此代碼並以管理員身份運行visula studio時,它運行良好。 但是現在我已經創建了一個類庫,並從Form中的類庫調用該方法。 CS文件。 因此,現在它給出了一個例外,即“無法在計算機'。'上啟動服務Myservice。任何人都可以幫助解決可能的問題嗎?否則,類庫中的所有其他方法都可以正常工作。

服務將無權“與桌面交互”,並且Form.cs將引用需要此特權的庫,因此該服務將無法啟動。

當前, 這里這里都有一個非常有用的解決方案,它將作為調試器中的控制台應用程序運行您的服務,否則將作為“適當”服務運行。

修改您的代碼,至少要做一些日志:

你可以添加一個try catch作為例外

try{

// your code
}
catch (Exception ex)
{
    System.Diagnostics.Trace.WriteLine(ex.ToString());
}

並粘貼在這里ex.message

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM