【问题标题】:ASP.NET Site Error on Different Server不同服务器上的 ASP.NET 站点错误
【发布时间】:2014-05-13 23:32:54
【问题描述】:

我有一个已部署在服务器上的项目。一切都很好(我可以使用多个浏览器访问它)但是 IE 11 的情况不同。

奇怪的是,我可以使用构建在同一个项目上的 IE 11 访问我的本地主机,但是一旦我部署它,我的 IE 11 不允许我登录并将我重定向到错误页面,链接也被破坏(其他浏览器包括 IE 9 都可以)。

我在 Lcoal 上使用 IE 11.0.9、Windows 7 和 .Net Framework 4,并且 在我的服务器上,我也使用 Windows Server R2 Data Center 和 .Net framework 4。

到目前为止我所做的是:

  1. 将 .Net 配置目录(本地)上的 ie.browser 文件复制粘贴到服务器(C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config)
  2. 运行 aspnet_regbrowsers -i
  3. 重新启动 IIS。

这是我的电脑(本地)上存在的 ie.browser

<browsers>
    <browser id="IE" parentID="Mozilla">
        <identification>
            <userAgent match="MSIE (?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
            <userAgent nonMatch="IEMobile" />
        </identification>

        <capture>
            <userAgent match="Trident/(?'layoutVersion'\d+)" />
        </capture>

        <capabilities>
            <capability name="browser"              value="IE" />
            <capability name="layoutEngine"         value="Trident" />
            <capability name="layoutEngineVersion"  value="${layoutVersion}" />
            <capability name="extra"                value="${extra}" />
            <capability name="isColor"              value="true" />
            <capability name="letters"              value="${letters}" />
            <capability name="majorversion"         value="${major}" />
            <capability name="minorversion"         value="${minor}" />
            <capability name="screenBitDepth"       value="8" />
            <capability name="type"                 value="IE${major}" />
            <capability name="version"              value="${version}" />
        </capabilities>
    </browser>

    <!-- Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4325) -->
    <browser id="IE6to9" parentID="IE">
        <identification>
            <capability name="majorversion" match="[6-9]" />
        </identification>

        <capabilities>
            <capability name="ecmascriptversion"    value="3.0" />
            <capability name="jscriptversion"       value="5.6" />
            <capability name="javascript"           value="true" />
            <capability name="javascriptversion"    value="1.5" />
            <capability name="msdomversion"         value="${majorversion}.${minorversion}" />
            <capability name="w3cdomversion"        value="1.0" />
            <capability name="ExchangeOmaSupported" value="true" />
            <capability name="activexcontrols"      value="true" />
            <capability name="backgroundsounds"     value="true" />
            <capability name="cookies"              value="true" />
            <capability name="frames"               value="true" />
            <capability name="javaapplets"          value="true" />
            <capability name="supportsCallback"     value="true" />
            <capability name="supportsFileUpload"   value="true" />
            <capability name="supportsMultilineTextBoxDisplay" value="true" />
            <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
            <capability name="supportsVCard"        value="true" />
            <capability name="supportsXmlHttp"      value="true" />
            <capability name="tables"               value="true" />
            <capability name="supportsAccessKeyAttribute"    value="true" />
            <capability name="tagwriter"            value="System.Web.UI.HtmlTextWriter" />
            <capability name="vbscript"             value="true" />
        </capabilities>
    </browser>

    <!-- Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0;) -->
    <browser id="IE7" parentID="IE6to9">
        <identification>
            <capability name="majorversion" match="7" />
        </identification>
        <capabilities>
            <capability name="jscriptversion" value="5.7" />
        </capabilities>
    </browser>

    <!-- Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) -->
    <browser id="IE8" parentID="IE6to9">
        <identification>
            <capability name="majorversion" match="8" />
        </identification>
        <capabilities>
            <capability name="jscriptversion" value="6.0" />
        </capabilities>
    </browser>

    <gateway id="IEbeta" parentID="IE">
        <identification>
            <capability name="letters" match="^([bB]|ab)" />
        </identification>

        <capture>
        </capture>

        <capabilities>
            <capability name="beta"    value="true" />
        </capabilities>
    </gateway>
</browsers>

仍然无法正常工作。 有没有人有更好的方法来处理这种情况。

更新:我发现错误: WebForm_DoPostBackWithOptions 未定义

【问题讨论】:

  • 可以在服务器上安装 .NET 4.5 吗?这肯定会有所帮助,因为 4.5 包含 IE11 的浏览器上限

标签: c# asp.net internet-explorer internet-explorer-11


【解决方案1】:

您的 IE 检测不适用于没有 MSIE 令牌的 IE11。有关将正确检测 IE11 并允许 ASP.NET 将 JavaScript 发送到客户端的 ASP.NET 更新,请参阅 http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx

(您可能需要删除您的自定义 IE 浏览器定义文件)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多