locked
Browser capabilities detection using local App_Browsers ASP.NET folder in ASP.NET project not working RRS feed

  • Question

  • User-1915560346 posted

    Hi,

    I have installed all the latest frameworks. Currently 4.5.1 with all rollups. Still there is no correct capability detection for IE 11.

    It works fine for me to add my own capabiltiy detection configuration in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers and register a new factory dll using aspnet_regbrowsers.exe utillity.

    ...

    The prefered way is however to activate application local browser detection using the App_Browsers ASP.NET folder. This is simply not working for me. No matter if I just launch my app from Visual Studio 2013 using IIS Express, or after publishing the site (all ok, with app_browsers folder) to my local IIS 7 (i'm running on Windows 7 Pro x64 SP1. This way, for ex. the  Request.Browser.Id returns "internetexplorer" and therefore also wrong capabilities.

    Overall I could find very very litle details, explaining the inner workings of these teqniques in .NET Framework, ASP.NET and Visual Studio, to better grasp whats really going wrong. On some sites it states that IIS should autmatically pick up the contents from App_Browsers folder if it exists. Ignoring any machine wide capability definition, that already exists in the app_browsers folder.

    Wednesday, April 9, 2014 2:04 AM

All replies

  • User-1915560346 posted

    Also the app_browser.dll and __browserCapabilitiesCompiler.compiled is successfuly deployed to the site \Bin directory. I currently have undregistered the systemwide ASP.BrowserCapsFactory.dll using aspnet_regbrowsers -u.

    Wednesday, April 9, 2014 2:05 AM
  • User-1915560346 posted

    This is the ie11 definitions for my ie.browser file:

      <browser id="IE11" parentID="Mozilla">
        <identification>
          <userAgent match="Trident\/7.0; rv:(?'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 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko -->
      <browser id="IE110" parentID="IE11">
        <identification>
          <capability name="majorversion" match="11" />
        </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>

    Wednesday, April 9, 2014 2:11 AM
  • User-166373564 posted

    Hi SWEDEV,

    Welcome to asp.net forum.

    According to your description above, I think we need look into this issue first.

    I noticed that Internet Explorer 11 has a bug which prevents ASP.NET applications from running properly. Your users will view broken layout and JavaScript errors, which occurs due to a bug in the browser detection under .NET Framework 4.

    In order to fix the above issue, you need to install .NET Framework 4.5 on the server, which has built-in solution for this problem.

    Please check whether you have the same issue above.

    If you have any concern, please let me know.

    Best regards

    Angie

    Sunday, April 13, 2014 10:36 PM
  • User-1915560346 posted

    Hi,

    I'm using .NET Framework 4.5.1. Is IIS Express supporting web_browsers folder detection from Visual Studio 2013?

    A few weeks ago I also deployed it to IIS on my local machine, but that also did'nt work.

    My web.config looks like this:

    <?xml version="1.0"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
      <!--For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.-->
      <system.web>
        <!--<compilation debug="true" strict="false" explicit="true" targetFramework="4.5.1" />-->
        <pages controlRenderingCompatibilityVersion="4.5"/>
        <compilation debug="true" targetFramework="4.5.1">
          <assemblies>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          </assemblies>
        </compilation>
        <httpRuntime targetFramework="4.5.1" requestValidationMode="4.5"/>
      </system.web>
      <system.webServer>
        <!--<validation validateIntegratedModeConfiguration="false"/>-->
        <defaultDocument>
          <files>
            <add value="BrowserTest.aspx"/>
          </files>
        </defaultDocument>
      </system.webServer>
    </configuration>

    Thursday, May 8, 2014 2:41 AM
  • User-497164879 posted
    Hi I'm facing similar issue in Windows 2008 Server R2 .Net 4.5.1/IIS7. Local App_Browser in application or system wide app_browser files didn't help. Please suggest for a solution.
    Friday, June 16, 2017 5:02 PM