繁体   English   中英

使用IE11时,ASP.NET WebForms中的Login ReturnUrl导致JavaScript严重错误

[英]Login ReturnUrl in ASP.NET WebForms causing JavaScript critical error when using IE11

我正在使用Visual Studio 2012开发ASP.NET Web Forms应用程序,该应用程序利用捆绑和SignalR。

我把它放在我的web.config中:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" defaultUrl="~/Views/Portfolio" timeout="2880" />
</authentication>
<authorization>
  <deny users ="?" />
  <allow users = "*" />
</authorization>

当我按F5时,会出现这种错误:

JavaScript critical error at line 3, column 1 in http://localhost:6169/Account/Login?ReturnUrl=/bundles/WebFormsJs?v=AAyiAYwMfvmwjNSBfIMrBAqfU5exDukMVhrRuZ-PDU01&v=AAyiAYwMfvmwjNSBfIMrBAqfU5exDukMVhrRuZ-PDU01

SCRIPT1002: Syntax error

然后是这个:

JavaScript critical error at line 3, column 1 in http://localhost:6169/Account/Login?ReturnUrl=/signalr/hubs

SCRIPT1002: Syntax error

我正在使用IE11,使用Firefox或Chrome时没有发生这些错误。 请帮忙? 谢谢

通常,您不能捆绑动态生成的JavaScript,例如/ signalr / hubs。

如果要捆绑/ signalr / hubs脚本(也称为SignalR JS集线器代理),则需要在部署之前生成脚本 这将为您提供一个可以捆绑的静态JS文件。

Halter73提出的解决方案最初对我有用。 我在IE11中遇到类似的错误,并特别注意到URL中的“ ReturnUrl = / signalr / hubs”。 但是,我发现静态代理存在一些回归问题(聊天和用户在线小部件都中断了),因此我将其回滚到使用默认的动态生成的代理。

因此,执行完此操作后,我又回到了相同的错误,然后返回此处,非常仔细地重新阅读了OP的原始帖子和他自己的回复并意识到这可能与我的web.config中的授权设置有关。没有信号器/集线器。 像OP一样,我也拒绝站点各个区域的身份验证,因此我需要明确允许访问signalr / hub,因此我只添加了此内容即可解决我的问题:

  <location path="signalr/hubs">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
  </location>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM