【发布时间】:2016-01-31 16:22:48
【问题描述】:
我的项目是一个 ASP.NET MVC 4 项目。
当我在 Azure 中托管它时,它在 localhost 中运行良好
我在需要超过 4 分钟的 ajax 调用中超时。
我确信问题出在 azure 上,因为我在服务器上做什么并不重要。
即使只是设置Thread.sleep(300000) 我也会超时。
我读到: https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/ 那个
保持连接活动较长时间的常见做法是 使用 TCP Keep-alive
对于网络应用程序没有其他选择。 所以我想我需要的是帮助在 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);
}
没用,求帮助!!
【问题讨论】:
标签: asp.net asp.net-mvc-4 azure bigdata iis-8