2015-10-31 18 views
5

Dự án của tôi là một dự án ASP.NET MVC 4.Azure 4 phút hết giờ trong ứng dụng web

Trong khi ở localhost, nó hoạt động tốt khi tôi lưu trữ trong Azure Tôi nhận được một thời gian chờ trong cuộc gọi ajax mất hơn 4 phút. Tôi chắc chắn rằng vấn đề là với màu xanh vì nó không quan trọng những gì tôi đang làm trong máy chủ. thậm chí chỉ cần đặt Thread.sleep(300000) Tôi nhận được một thời gian chờ.

Tôi đọc trong: https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/ Đó

một thực tế phổ biến để giữ cho các kết nối hoạt động trong một thời gian dài hơn là sử dụng TCP Keep-alive

và không có lựa chọn nào khác cho các ứng dụng web. Vì vậy, tôi đoán rằng những gì tôi cần là giúp giữ mã sống trong asp.net. Tôi không thể tự mình tìm ra điều này. cố gắng để gửi mỗi một phút đơn giản gọi ajax đến máy chủ và điều này không giúp tôi vì vậy tôi cố gắng sử dụng TcpKeepAlive như thế này:

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); 
} 

Đã không làm việc, tôi cần sự giúp đỡ xin vui lòng !!

Trả lời

0

có vấn đề này quá, thấy điều này, đã làm việc cho tôi: https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/

+0

đây là liên kết tôi đưa vào câu hỏi của mình. như bạn có thể thấy tôi thậm chí được trích dẫn "thực hành phổ biến để giữ cho kết nối hoạt động trong một khoảng thời gian dài hơn là sử dụng TCP Keep-alive" mà vì thời gian nhàn rỗi không được hỗ trợ cho Azure Webapps – WbbAndMobile

+0

giải ... cảm ơn. – WbbAndMobile

+0

Bạn đã giải quyết nó như thế nào? @WbbAndMobile – ronmar

0

Các bạn đã thử request.KeepAlive = true; ?

Các vấn đề liên quan