首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows Azure上使用回发的Chrome与IE等

在Windows Azure上使用回发的Chrome与IE等
EN

Stack Overflow用户
提问于 2012-09-07 05:17:45
回答 1查看 594关注 0票数 2

我之前发布了一个类似的问题,但没有得到任何回应,所以我试图让它更具体(在经过大量测试后,我已经能够做到这一点)。我不会一直推,但这是一场精彩的表演,快把我逼疯了。

我有一个MVC3应用程序。在其中,我有一个包含以下两个方法的测试控制器:

代码语言:javascript
复制
public ActionResult Test2()
{
    return View();
}

public ActionResult Test2Get()
{
    System.Threading.Thread.Sleep(270000);
    var x = "Author = x";
    return Json(x,JsonRequestBehavior.AllowGet);
}

Test2视图如下所示:

代码语言:javascript
复制
@{
    ViewBag.Title = "Test2";
}

<h2>Test2</h2>

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            url: 'http://www.lp-web.net/Test/Test2Get',
            type: 'GET',
            success: function (result) { alert('success'); }
        });
    });
</script>

正如您所看到的,JSON视图只是执行一个"on load“方法的回调,该方法休眠4.5分钟,然后返回一些Test2。

当通过Azure模拟器在VS中本地运行时,它在所有浏览器上都工作得很好。如果我构造一个非Azure版本并部署到托管服务器上,那么这在所有浏览器中都工作得很好。这里的"works“指的是显示带有”成功“消息的警告。

然而,当部署到Windows Azure时,这只在我使用Chrome时有效。否则,该警报将永远不会出现。

还有其他花样:例如,如果睡眠时间设置为4分钟或更短,所有浏览器都可以工作,即使应用程序部署到Azure也是如此。但我真的不知道这有什么关系。

我希望有人知道我可以去哪里找。如果有人想自己尝试一下,你可以去http://www.lp-web.net,点击"Test2“操作链接,等待4.5分钟。我很好奇是不是“只有我”。

提前感谢您的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-07 10:36:20

听起来好像负载均衡器的连接超时了。负载均衡器超时的默认值为4分钟(过去为1分钟),超过该时间后,连接将被重置。

这并不能完全解释Chrome的工作原理;然而,the bottom of this thread observes有类似的行为影响了IE和火狐(明确命名它们可能意味着它不会在Chrome上发生?)

有关负载均衡器的含义以及如何补救的更多上下文,请查看Windows Azure Load Balancer Timeout Details

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12308555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档