2014-07-24 59 views
1

我構建將編輯DB數據形式我。我要運行加密爲的connectionString服務/或recive reuqest,我無法趕上的OnStart的OnStart在serviceAppliction服務啓動時不工作

我我是否錯了?

我班

public class Service1 : IService1 
    { 

     protected void OnStart(string[] args) 
     { 
      string stop=""; 
//can't get here 
//here Encrypt the section. 
// section.SectionInformation.ProtectSection("DataProtectiond"); 
     } 

     public string GetData(int value) 
     { 
      //my functions 
     } 
} 
+0

這是一個Windows服務? – Jeroen1984

+0

是的,這項服務是gona在服務器Pc和gona發送數據。 – user3567884

+0

那麼爲什麼asp.net和wcf標籤? – Jeroen1984

回答

1

在調試的服務也很難趕上OnStart方法。您無法從Visual Studio運行服務,並且在生產中,OnStart方法已被調用,然後才能連接調試器。你可以做的是把下面的代碼在OnStart方法:

System.Diagnostics.Debugger.Launch() 

這會彈出一個窗口,在這裏你可以選擇一個調試器。如果您已經打開Visual Studio解決方案,則可以選擇此選項,並將調試器附加到您的服務中。

要「運行服務」從Visual Studio,你可以把這樣的事情在你的Main():

static void Main() 
    { 
     if (!Environment.UserInteractive) 
     { 
      // Startup as service. 
      ServiceBase[] ServicesToRun; 
      ServicesToRun = new ServiceBase[] 
      { 
       new MyServices() 
      }; 
      ServiceBase.Run(ServicesToRun); 
     } 
     else 
     { 
      //Start things locally here, 
      //for example the same things you do in the OnStart() method of your service 
     } 
    } 

現在,你可以簡單地從Visual Studio中運行該程序,但它也將作爲一個服務,當你在生產服務器上安裝它...

相關問題