今天分享一種不一樣的方式.
一. 這裡貼一下我們的program類
1.program.cs
using ivony.html;
using ivony.html.parser;
using system;
using system.collections.generic;
using system.configuration;
using system.io;
using system.linq;
using system.net;
using system.text;
using system.threading.tasks;
using system.serviceprocess;
using system.diagnostics;
using system.threading;
namespace 爬蟲framework
catch (exception e)
", e.tostring());
console.readkey();}}
/// /// 執行緒
///
public static void threadstart()
public static void pachong()
private static void start(string args)
else if (string.compare(s, @"/u", true) == 0)
else if (string.compare(s, @"/r", true) == 0)
else
}else
;servicebase.run(servicestorun);}}
catch (exception ex)
}/// /// 安裝本服務
///
static void setupwinservice(bool isinstall)
else
string windir = environment.getfolderpath(environment.specialfolder.windows);
string tools = system.io.path.combine(windir, util);
if (isinstall)
else
}catch (exception ex)
}static void exec(string exe, string param)
catch (exception ex)}}
}
說明:
1. 這裡用到了多執行緒,是因為有些程式業務邏輯可能比較複雜和有多個迴圈的,在啟動服務時會導致啟動超時.
二. 新增windows服務.
1.新增服務
2.修改服務
右擊該服務=> 選擇 檢視**
新增 program.threadstart(); 如下
partial class pachong : servicebase
protected override void onstart(string args)
protected override void onstop()
}
3.設定屬性
雙擊該服務=>右擊 => 新增安裝程式
選擇serviceprocessinstaller1 設定account 為 localsystem
**和設定部分已完成,生成專案.
三.安裝服務
1.以管理員身份執行 cmd
2.進入生成目錄:e:\>cd e:\test\爬蟲\爬蟲framework\bin\debug
3.執行安裝命令: e:\test\爬蟲\爬蟲framework\bin\debug>爬蟲framework.exe /i
四.啟動服務
此時可以在服務中找到我們已經安裝的服務,服務的名稱就是我們新增的windows服務的名稱.
如何將控制台資訊列印到指定檔案中?
首先建立列印流物件 printstream printstream new printstream filepath 然後將流物件交給系統輸出 system.setout printstream 最後,任意的system.out.print 輸出的內容都會列印在filepath下,控制台不再顯示列印...
C 控制台程式如何發布到伺服器Linux上執行
目錄 如上圖所示,選擇linux開發平台,我用的vs2019,net5.0,一直點下一步,建立。using linuxtcpapp.tcpserver using system using system.net namespace linuxtcpapp 程式設計客棧 private static ...
如何將自己的控制台程式改造為支援命令列動態引數呼叫
目前專案上使用的netcore 進行跨平台支援,工具由以前的windows程式轉變為console控制台形式進行互動。但是對於開發人員來說控制台輸入引數比較繁瑣,所以對工具進行了改造,支援dontnet傳參形式 所有的使用者輸入均是採用console.readline 獲取之後呼叫方法進行值校驗。c...