不同服务器上的ASP.NET站点错误

时间:2014-05-13 08:08:10

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

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

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

我在Lcoal上使用IE 11.0.9,Windows 7和.Net Framework 4 在我的服务器上,我也使用Windows Server R2数据中心和.Net框架4。

到目前为止我所做的是:

  1. 将.Net配置目录(本地)上的ie.browser文件粘贴到服务器,(C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config)
  2. 运行aspnet_regbrowsers -i
  3. 重新启动IIS。
  4. 这是我的电脑上存在的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未定义

1 个答案:

答案 0 :(得分:0)

对于没有MSIE令牌的IE11,您的IE检测无法正常工作。有关将正确检测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浏览器定义文件)