2010-07-19 22 views
1

我們如何指定LoaderOptimizations當我們正在建立一個Windows服務,我們沒有我們的「主」的方法,我們會以其他方式使用指定LoaderOptimization對Windows服務

換句話說,當我們有一個簡單的控制檯應用程序我們可以:

[LoaderOptimization(LoaderOptimization.MultiDomainHost)] 
private static void Main(string[] args) 
{ 
} 

但對於一個服務,我們實現了ServiceBase類,因此不具備的主要方法,而我們有一個

protected override void OnStart(string[] args) 
{ 
} 

但我猜測,將該屬性放在該方法上不會有相同的效果?

回答

4

您仍然會擁有Windows服務的主要方法。它通常是您撥打ServiceBase.Run的地方。對於一個Windows服務項目在Visual Studio模板將產生一類稱爲程序,看起來像這一點,包括Main()方法:

static class Program 
{ 
    /// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    static void Main() 
    { 
     ServiceBase[] ServicesToRun; 
     ServicesToRun = new ServiceBase[] 
     { 
      new Service1() 
     }; 
     ServiceBase.Run(ServicesToRun); 
    } 
} 

您應該能夠將屬性添加到main()方法有。

+1

目前坐在這裏,我的頭撞在牆上,重複「Doh」這個詞... 猜猜這是到我們這裏的熱量,我們不超過3誰知道它,但也清楚地忘記了它... 但非常感謝您的幫助>。<... – Jens 2010-07-20 12:24:13