我有一个在常规 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 和集成管道。
任何人都知道如何解决这个问题?
最佳答案
无需ping你的服务器,这里是应用程序池高级设置下的设置截图。将启动模式更改为始终运行,它将停止 sleep 。
关于WCF REST 服务在不活动后进入休眠状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5801497/