【发布时间】:2011-04-27 08:51:14
【问题描述】:
我有一个在常规 ASP.NET Web 项目中声明的 WCF REST 服务:
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, IncludeExceptionDetailInFaults = true)]
public class BasicApp
我将它用作我正在构建的 iPhone 应用程序的服务层,因此我使用出色的 ASIHTTPRequest 库来请求它。
服务本身工作得很好,但是当它空闲大约 10 分钟时,服务似乎进入睡眠状态,这最终让我在 iPhone 上出现超时问题。
如果我通过浏览器请求服务,它是相同的,但大约 30 秒后服务“唤醒”,然后所有连续的请求都非常快。我知道我可以提高 iPhone 的超时限制,但对于手持设备来说,这似乎不太适用。
我猜这是配置问题。该服务托管在带有 IIS 7.5 的 Win2008R2 上
IIS 网站配置有自己的 AppPool,运行 .NET 框架 v4 和集成管道。
有人知道如何解决这个问题吗?
【问题讨论】:
-
最可能的原因可能是 IIS 中的应用程序池回收。检查 IIS 的 AppPool 回收设置iis.net/ConfigReference/system.applicationHost/applicationPools/…