C# windows 服務 操作執行個體

來源:互聯網
上載者:User

標籤:style   blog   ar   io   color   os   使用   sp   on   

先說明一下windows服務開發前要明白的東西,DOS


程式所在實體路徑
D:\workObject\xx.exe

輸入CMD
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319

安裝服務
installUtil D:\workObject\xx.exe

卸載服務
installUtil /u D:\workObject\xx.exe

查看Window服務
services.msc


C:\>
使用命令列啟動服務
在cmd下可有兩種方法開啟,net和sc,net用於開啟沒有被禁用的服務,文法是:
net start 服務名                啟動 net start 服務名
net stop 服務名                 停止 net stop 服務名

用sc可開啟被禁用的服務,文法是:
sc config 服務名 start= demand     //手動
sc condig 服務名 start= auto       //自動
sc config 服務名 start= disabled   //禁用
sc start  服務名
sc stop   服務名

 

下面是執行個體代碼 

 /// <summary>        /// 應用程式的主進入點。        /// </summary>        static void Main(string[] args)        {            log4net.Config.XmlConfigurator.Configure();            // 同一進程中可以運行多個使用者服務。若要將            // 另一個服務添加到此進程中,請更改下行以            // 建立另一個服務物件。例如,            //            //   ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};            //            if (args.Length == 0)            {                ServiceBase[] ServicesToRun;                ServicesToRun = new ServiceBase[] { new RemoveCacheService() }; ///new ServiceBase[] { new Service1() }; 實現邏輯入口                ServiceBase.Run(ServicesToRun);            }            // 安裝服務            else if (args[0].ToLower() == "/i" || args[0].ToLower() == "-i")            {                try                {                    string[] cmdline = { };                    string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location;                    TransactedInstaller transactedInstaller = new TransactedInstaller();                    AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline);                    transactedInstaller.Installers.Add(assemblyInstaller);                    transactedInstaller.Install(new System.Collections.Hashtable());                }                catch (Exception ex)                {                    string msg = ex.Message;                }            }            // 刪除服務            else if (args[0].ToLower() == "/u" || args[0].ToLower() == "-u")            {                try                {                    string[] cmdline = { };                    string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location;                    TransactedInstaller transactedInstaller = new TransactedInstaller();                    AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline);                    transactedInstaller.Installers.Add(assemblyInstaller);                    transactedInstaller.Uninstall(null);                }                catch (Exception ex)                {                    string msg = ex.Message;                }            }        }

 

C# windows 服務 操作執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.