Answered by:
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

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 undefinedSurprisingly 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-AA459Please 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.
Also please ensure your iis will deal with the request with axd extension.
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