我的项目是一个ASP.NET MVC 4项目.
在localhost中,当我在Azure中托管它时工作正常我在ajax调用中超时需要超过4分钟.我确信问题出在azure上,因为我在服务器上做的并不重要.即使只是设置Thread.sleep(300000)
我得到超时.
我读到了:https: //azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/ 那
保持连接活动较长时间的常见做法是使用TCP Keep-alive
并且没有其他Web应用程序选项.所以我想我需要的是帮助保持asp.net中的代码.我不能自己解决这个问题.试图将每一分钟简单的ajax调用发送到服务器,这对我没有帮助,所以我试着像这样使用TcpKeepAlive:
public JsonResult MyLongOperation()
{
HttpWebRequest request =(HttpWebRequest)WebRequest.Create("mySite");
request.Proxy = null;
request.ServicePoint.SetTcpKeepAlive(true, 30000, 5000);
Thread.Sleep(300000);//5 min sleep
return Json("ok",JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
没工作,我需要帮助!