我的项目是 ASP.NET MVC 4 项目。
在本地主机中,当我在 Azure 中托管它时,它工作正常 我在超过 4 分钟的 ajax 调用中遇到超时。 我确信问题出在 azure 上,因为我在服务器中做什么并不重要。 即使只是设置 Thread.sleep(300000) 我也会超时。
我读到: https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/ 那
a common practice to keep the connection active for a longer period is to use 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);
}
没用,我需要帮助!!
最佳答案
也遇到了这个问题,发现了这个,对我有用: https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/
关于asp.net - Azure Web 应用程序中的 4 分钟超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33449600/