2010-07-19 44 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