-1
我使用c#創建了Windows窗體應用程序。現在我需要添加一個Windows服務以及這個應用程序。我添加了一個新的Windows服務並添加了安裝程序。我創建了Windows安裝程序並將其安裝在PC中,但該服務無法正常工作。我是C#的新手。請幫助我將此服務添加到安裝程序。Windows窗體應用程序中的Windows服務
我使用c#創建了Windows窗體應用程序。現在我需要添加一個Windows服務以及這個應用程序。我添加了一個新的Windows服務並添加了安裝程序。我創建了Windows安裝程序並將其安裝在PC中,但該服務無法正常工作。我是C#的新手。請幫助我將此服務添加到安裝程序。Windows窗體應用程序中的Windows服務
WinForms應用程序和Windows服務項目模板具有不同的引導代碼(請參閱項目中的「Program.cs」文件)。
這一個從Windows窗體:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
這一個從Windows服務:
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
如果你想將這些類型的應用程序在一個單一的可執行文件合併,則需要修改引導代碼一點:
// we need command line arguments in Main method
[STAThread]
static void Main(string[] args)
{
if (args.Length > 0 && args[0] == "service")
{
// runs service;
// generated bootstrap code was simplified a little
ServiceBase.Run(new[]
{
new Service1()
});
}
else
{
// runs GUI application
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
現在,安裝服務時,需要設置命令用於運行可執行文件的行參數:myExe service
。
「但該服務無法正常工作」 - 我們如何幫助您而不提供更多信息? –
你開始服務了嗎?你怎麼知道它不工作?我們需要的方式更多信息 – Pavenhimself
大家好,感謝您的回覆,基本問題是我是C#的初學者。我結合了來自互聯網的代碼。我的要求是,當沒有互聯網時,數據將被存儲在一個文件中。我正在使用Windows窗體處理這部分內容。現在我需要一個服務來檢查互聯網連接,當互聯網可用時,它會自動將文件上傳到網絡服務。 –