我正在使用Quartz.Net(我通过构造函数初始化它)来安排一些任务,但我正在处理一个问题。一个WCF服务托管在IIS中,我希望一旦IIS重新启动我的服务的构造函数,就可以启动并初始化调度程序。
Atm我必须调用一个虚拟方法,这样我才能开始运行我的服务。我玩了一些IIS和我发现的一些设置,但没有一个有效。
答案 0 :(得分:1)
您可以使用 Application Fabric 的自动启动功能,因为您的服务托管在IIS中。
如果您没有安装AppFabric,请先安装。
打开IIS管理器,选择您的WCF应用程序,然后单击“管理WCF和WF服务”中的“配置”。 选择“自动启动”并启用该功能。
您可以在此处阅读更多内容:https://msdn.microsoft.com/en-us/library/ee677260%28v=azure.10%29.aspx
[更新]正如Ahmed ilyas所说,AppFabric可以停止使用,因此您也可以使用应用程序初始化。在这里阅读更多: http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization
希望它有所帮助。
答案 1 :(得分:0)
重新启动IIS后立即运行WCF的构造函数?
默认情况下,IIS中托管的服务本身不会自动激活,除非先消费。
我认为您需要在实施中进行一些重组。就像在Windows服务中托管您的服务或在服务构造函数中分离您的日程安排初始化。