我有由iis托管的wcf应用程序。 我添加了Global.asax文件,并附带了Application_Start。
但是当我启动iis(或重置)时,我不会看到调用Application_Start方法。
如何解决? 我希望iis会在iis启动时调用此方法(当计算机启动时(因为iis在机器启动时自动启动)或iis重启时)
答案 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
解决您的愿望