WCF REST服务在不活动后进入休眠状态

Pet*_*olm 2 iis rest wcf

我有一个在常规ASP.NET Web项目中声明的WCF REST服务:

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, IncludeExceptionDetailInFaults = true)]
public class BasicApp
Run Code Online (Sandbox Code Playgroud)

我正在使用它作为我正在构建的iPhone应用程序的服务层,因此我使用优秀的ASIHTTPRequest库请求它.

服务本身工作正常,但当它闲置大约10分钟时,服务似乎进入休眠状态,这最终会让我在iPhone上出现超时问题.

如果我通过浏览器请求服务它是相同的,但是在30秒左右之后服务"唤醒"然后所有连续请求都非常快.我知道我可以提高iPhone的超时限制,但对于手持设备而言,这似乎并不是很好.

我猜它是配置问题.该服务托管在带有IIS 7.5的Win2008R2上

IIS网站配置了自己的AppPool,运行带有集成管道的.NET框架v4.

任何人都知道如何解决这个问题?

art*_*ker 18

无需ping您的服务器,下面是应用程序池高级设置下的设置屏幕截图.将启动模式更改为AlwaysRunning,它将停止睡眠.

将开始模式更改为AlwaysRunning


Mon*_*s X 7

这告诉您如何在appPool的applicationHost.config设置中设置自动启动

http://msdn.microsoft.com/en-us/library/ee677260.aspx

添加完整性C:\ Windows\System32\inetsrv\config\applicationHost.config

<applicationPools>
    <add name=”MyAppPool” startMode=”AlwaysRunning” />
</applicationPools>
Run Code Online (Sandbox Code Playgroud)