如何在IIS自动重启后立即启动方法

时间:2016-06-21 10:03:58

标签: asp.net iis iis-7 iis-8

我有一个应用程序,通过点击go按钮通过串口发送连续数据,并在IIS中托管。

我已将自动启动模式设置为"始终运行"这将自动重启我的IIS但重新启动会停止通过端口发送数据,因为我需要再次单击go按钮开始发送数据。

是否有任何自动重新启动IIS的设置会触及我的Go方法,并且可以通过端口连续发送数据而不会中断。

1 个答案:

答案 0 :(得分:0)

为了在应用程序池启动时执行方法,您可以使用System.Web程序集的PreApplicationStartMethod属性。

[assembly: PreApplicationStartMethod(
              typeof(Starter), 
              nameof(Starter.PreApplicationStartMethod))]

public class Starter 
{
    public static void PreApplicationStartMethod()
    {
         // startup code here
    }
}

使用此属性,每次应用程序池回收时,都会调用此方法。请注意,在回收期间,应用程序池在另一个应用程序结束之前启动。有关详细信息,请参阅IIS Process Recycling overlap