2010-10-05 243 views
1

WCF中是否有一些机制可用于“预启动/预热”在IIS中托管的WCF服务? - 类似SharePoint网站的热身脚本重新启动服务器后重新启动WCF服务

我有这样的情况,即服务器在夜间重新启动,第二天在WCF服务启动时出现长时间延迟。我无法在使用这些服务的各种应用程序中更改超时,因此第一批用户在他们使用应用程序时早上报告错误

这是在Windows 2003 Server和IIS 6.0上,所以IIS应用程序池热身模块,http://www.iis.net/download/applicationwarmup,因为这是为IIS 7.5

注:该模块似乎已被暂时撤回,见细节... IIS Forum

+0

这个问题在... http://stackoverflow.com/questions/2063461/iis-web-applications-warmup ...似乎只是指SharePoint和Web应用程序,而不是WCF服务 – SteveC 2010-10-05 11:50:42

回答

1

我知道你不喜欢的答案,我想我重复自己,因为它不是我第一次张贴。在7.5版之前的IIS中预热任何东西的方法是使用预定的控制台应用程序来ping您的网站/服务并预热它们。这是一个丑陋的解决方案,但它很有效,很容易,我在每个需要处理这个需求的项目上都看到它。

+0

啊,直到他们升级到IIS 7.5 ......感谢您的帮助,计划任务已安装并正在工作 – SteveC 2010-10-06 10:56:39

0

WCF服务应立即准备好当他们开始。只要确保服务设置为在服务器引导时自动启动。

+0

道歉,didn没有说清楚......这些是在IIS中托管的WCF服务,而不是在Window服务中。 – SteveC 2010-10-05 11:52:11

+0

我从来没有在IIS中托管过,总是为他们使用Windows服务。听起来很奇怪,他们需要热身?!你可以编写一个预定的事件来打开它在系统重新启动时预热它? – jimplode 2010-10-05 12:06:59

+0

这种思维方式......看起来很诡异,但是我想这就是IIS 7.5模块的用途......只是希望我们有7.5 – SteveC 2010-10-05 15:46:54

0

您可以使用Windows Server AppFabric的,它具有自动统计功能来保持服务始终。但是您需要在IIS 7.5上安装App Fabric。

+0

感谢您的指针...似乎是IIS 7.5的唯一自动启动选项,因为IIS模块已暂时撤销,请参阅[IIS论坛](http://forums.iis。净/吨/ 1176740.aspx) – SteveC 2011-07-16 09:35:35