当iis是主机时,iis是否在wcf应用程序上调用Global.asax的Application_Start?

时间:2017-02-09 20:46:25

标签: c# asp.net wcf iis iis-7

我有由iis托管的wcf应用程序。 我添加了Global.asax文件,并附带了Application_Start。

但是当我启动iis(或重置)时,我不会看到调用Application_Start方法。

如何解决? 我希望iis会在iis启动时调用此方法(当计算机启动时(因为iis在机器启动时自动启动)或iis重启时)

2 个答案:

答案 0 :(得分:5)

如果WCF服务托管在网站上的IIS上,则应调用Application_Start方法。但是,默认应用程序池中的在应用程序池收到第一个请求之前不会启动。

因此,在调用WCF服务之前,不会调用Application_Start方法。

此外,IIS提供应用程序初始化模块,可用于通过IIS服务器向网站发出虚假请求,以便应用程序可以在IIS启动后自动启动。它还允许应用程序的自定义预热代码。您可以阅读更多详细信息here

答案 1 :(得分:3)

WCF不能那样工作。这是一种按通话服务,因此按需处理请求......

可在此处找到更多详细信息:https://stackoverflow.com/a/739674/444665

但是,您可以通过此解决方案Running a function on WCF start up

解决您的愿望