MVC - “此页面无法显示” - IE只能毫无例外

时间:2016-10-31 11:08:18

标签: asp.net-mvc internet-explorer

在我的控制器Index()方法中,我在将内容返回到视图之前从数据库中检索一些数据:

    [HttpGet]
    public ViewResult Index()
    {
        var model = new ItemsModel();

        model.Items = itemService.GetSomeItems(User.RoleId);

        return View(model);
    }

这总是在Chrome和Firefox上完美运行,但IE 11只能根据GetSomeItems方法返回的内容工作。

当获取的项目不多时,IE返回视图没问题。但是,如果有,例如,返回了300个项目(调用大约需要4秒),IE会在显示“此页面无法显示”页面之前等待大约5-8秒。

结果因服务方法中返回的内容而异 - 尽管我不确定这是项目的数量,内容还是通话时间。

当我调试应用程序时,它运行顺利,没有异常,只是结束了“此页面无法显示”页面。这不是我的缓存导致问题,因为其他用户只遇到与IE完全相同的问题。我已经尝试将调试点放在Index.cshtml的jquery $(document).ready方法中,但是从未达到这些。

IE可能导致这种情况的原因是什么?我知道有内置超时(browser timeouts while asp.net application keeps running),但是4秒的通话并不能解释上述情况。有任何想法吗?调用后面的访问者使用实体框架,如果这可能是罪魁祸首。使用F12对其他IE版本进行了测试,但IE 11,10,9也失败了。

1 个答案:

答案 0 :(得分:1)

当网页上包含太多AntiForgeryTokens时,IE崩溃会导致此问题。

当GetSomeItems()返回超过236个对象时,这些对象在视图中循环并导致~240 @ Html.AntiForgeryToken()行 - IE无法应对。