locked
ASP.NET 4.6.2 Website giving AJAX client side javascript related errors on Internet Explorer 11 after IE was upgraded with patch KB4486474 on Windows 7 workstations RRS feed

  • Question

  • User706407582 posted

    Hi

    I have migrated my ASP.NET website from 3.5 framework to 4.6.2 framework (Web farm 2008 to web farm 2016)
    My migrated web site (in 4.6.2 framework) was working well till Internet explorer 11 was upgraded with patch KB4486474.
    But after this patch, my newly migrated website (in 4.6.2) started giving various AJAX client side java script related issues.
    I am getting these issues only on Windows 7 workstation that has IE 11.
    I am currently getting below errors ->
    ‘Sys’ in undefined
    ASP.NET AJAX  client-side framwork failed to load
    Menu_HoverStatic is undefined
    object is undefined

    Surprisingly this migrated 4.6.2 website is not giving these errors in Google Chrome, Mozilla Firefox.

    This error is intermittently showing up on Windows 10 workstations IE 11 sometimes.

    But my old ASP.NET site which is in 3.5 (Windows 2008 webfarm) is working fine on this IE 11 with patch KB4486474.

    Can you please guide me over this ? I am really not sure what to do. Is this something related with load AJAX client side framework libraries ? or something related with IE Patch?

    Browser details on Windows 7 workstation ->
    Internet Explorer 11
    Version - 11.0.9600.19266CO
    Update Version - 11.0.110 (KB4486474)
    Product ID - 00150-20000-0003-AA459

    Please let me know.

    Monday, March 11, 2019 1:47 AM

Answers

  • User706407582 posted

    Hello Everyone

    I was able to fix this issue. I had to put same machine key for all individual web farm server in web.config. I did this and menus started coming up, error was gone.

    <system.Web>

    <machineKey decryptionKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" validationKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" validation="SHA1" />

    </system.Web>

    BACKGROUND -> I was not getting javascript issue when I was accessing Individual web farm server. This error was coming up only in case of Load balanced URL. This because when no machine key is used, load balancer web farm creates its own dynamic machine key. This machine key is getting used to retrive/ request resources. But then refresh is done, server accepting request gets changed, and since machine key was not found, it does not return the requested resource.

    so when I put same machine key for all individual web farm server, requested resources are returned and this error went away.Looks like Windows 2016 web farm environment is more particular about machine key.  In order to create machine key you have to run aspnet_***** commands in .net command prompt. Once machine key is generated you can use it.

    Thank you for your support.

    Regards

    Sarang

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Thursday, March 28, 2019 1:42 PM

All replies

  • User-893317190 posted

    Hi sarang1183,

    Please open F12  network to check whether  request for ajax script fails.

    asp.net ajax need axd file, please ensure it is well processed, you could add following config.

    <add verb="GET"
      path="ScriptResource.axd"
      type="Microsoft.Web.Handlers.ScriptResourceHandler"
      validate="false"/>

    Please refer to the link below.

    https://stackoverflow.com/questions/11288796/asp-net-ajax-client-side-framework-failed-to-load-when-put-the-scriptmanager-on

    Also please ensure your iis will deal with the request  with axd extension.

    http://www.mayurbharodia.com/dasblogce/2009/06/26/AjaxClientsideFrameworkFailedToLoadSysIsUndefinedEtc.aspx

    Best regards,

    Ackerly Xu

    Monday, March 11, 2019 7:58 AM
  • User706407582 posted

    Thanks for your response Xu.

    I will check this and get back to you.

    Thursday, March 21, 2019 3:16 PM
  • User706407582 posted

    Hello Everyone

    I was able to fix this issue. I had to put same machine key for all individual web farm server in web.config. I did this and menus started coming up, error was gone.

    <system.Web>

    <machineKey decryptionKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" validationKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" validation="SHA1" />

    </system.Web>

    BACKGROUND -> I was not getting javascript issue when I was accessing Individual web farm server. This error was coming up only in case of Load balanced URL. This because when no machine key is used, load balancer web farm creates its own dynamic machine key. This machine key is getting used to retrive/ request resources. But then refresh is done, server accepting request gets changed, and since machine key was not found, it does not return the requested resource.

    so when I put same machine key for all individual web farm server, requested resources are returned and this error went away.Looks like Windows 2016 web farm environment is more particular about machine key.  In order to create machine key you have to run aspnet_***** commands in .net command prompt. Once machine key is generated you can use it.

    Thank you for your support.

    Regards

    Sarang

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Thursday, March 28, 2019 1:42 PM