PDA

View Full Version : Loss on EXT reference



sphere
May 14, 2020, 3:53 PM
I have a Webforms application that runs on IIS 10 and Windows server 2016.
After I upgraded to version 5.0 of EXT I started having a problem that sometimes occurs and when this problem occurs, I can only resolve it by restarting IIS.
It is as if the application "lost" the reference to the EXT style sheet (css) and cannot load the EXT theme.

In the browser console it displays the following errors:
Re…eme-neptune-all_1-embedded-css%2fext.axd%3fv%3d5.0.0&v=5.0.0 was not loaded because its MIME type, “text/html”, is not “text/css”

The Windows event viewer shows the following information:

Event code: 4005
Event message: Forms authentication failed for the request. Reason: The ticket supplied has expired.
Event time: 13/05/2020 18:54:41
Event time (UTC): 13/05/2020 21:54:41
Event ID: 20b9acd3f2734720b070ea883f43704b
Event sequence: 2957
Event occurrence: 10
Event detail code: 50202

Application information:
Application domain: /LM/W3SVC/1/ROOT/d2bi-4-132338749061911472
Trust level: Full
Application Virtual Path: /d2bi
Application Path: C:\inetpub\wwwroot\d2bi\
Machine name: SSWDCAPP03

Process information:
Process ID: 3784
Process name: w3wp.exe
Account name: ---------

Request information:
Request URL: https://WebSite/extjs/packages/theme_neptune/build/resources/theme-neptune-all_2-embedded-css/ext.axd?v=5.0.0
Request path: /path/extjs/packages/theme_neptune/build/resources/theme-neptune-all_2-embedded-css/ext.axd
User host address: ------
User:
Is authenticated: False
Authentication Type:
Thread account name: ----------

Name to authenticate:

Custom event details:


Ps. The application runs on IIS 10 and Windows Server 2016.
The application runs on .NET Framework 4.6.1


I've researched several solutions, but none has solved the problem.
Any idea of ​​this problem?

geoffrey.mcgill
May 14, 2020, 6:50 PM
Thanks for letting us know about this issue. We are reviewing the details and will investigate. On our first quick review, it's not clear what could be causing the issue, and specifically only with the css file. It seems strange, but we will try and figure something out.

fabricio.murta
May 14, 2020, 10:25 PM
Hello @sphere, and welcome to Ext.NET forums!

For the description you provided it seems there's an issue with IIS10's authentication.

Can you check your */ext.axd path in httpHandlers section in your Web.config file if it looks like this:



<httpHandlers>
<add path="*/ext.axd" verb="*" type="Ext.Net.ResourceHandler" validate="false" />
</httpHandlers>


It may be that you are requiring somehow authentication to access Ext.NET resources and this may be affecting how Ext.NET static, embedded content is served. But then, due to another issue, the authentication token is failing and you get an error page (which is not a text/css MIME) instead of the resource.

Other than that, I see you are not the only one that faced this on IIS. There are messages from 2012 like this (https://forums.asp.net/t/1762166.aspx), with a solution for their case if you scroll down to the green-tinted post, and 2017, without an accepted answer (https://forums.iis.net/t/1236380.aspx).

So this looks like a not well-versed issue and a number of reasons may lead to it, and it may require some "manual debugging" like suggested in the 2012 thread above.

Well, at least this documentation page back to 2012 seems to mention the same issue you are facing; maybe worth looking it up? It also suggests the issue you're facing may be related to authentication: Troubleshooting Forms Authentication - Microsoft Docs (https://docs.microsoft.com/en-us/iis/troubleshoot/security-issues/troubleshooting-forms-authentication).

How often does this happen? If you create a fresh/empty project with simple page and publish to the same webserver, maybe another website in the same app pool, you can reproduce the issue consistently?

Hope this helps, and looking forward to your follow-up.

sphere
May 15, 2020, 5:36 PM
Hello Fabricio, thank you very much for your attention.

In the webconfig the httpHandlers section is configured as you described.
This was occurring around once a week, but now it is occurring around once a day.
I even created another website, but in another application pool and the error does not occur, but I don't know if it is due to little use.

We will look at the forums that you went through and I will change this website that I created to a production website and then I will give you feedback.

Thank you

fabricio.murta
May 19, 2020, 4:31 AM
Hello @sphere!

Any news on that?

If you catch this happening again, check in developer tools, network tab, how responses for the other Ext.NET resources are returned. I believe when that happens, everything should return a unauthorized access, or login page (depending on your application setup).

It may be possible that during the Web.config upgrade some setting "slipped" and took precedence over the Ext.NET resources vs authentication. No matter how I look at it, I can't think on a way Ext.NET would be the one responsible for the mismatched MIME type, or causing the actual expired ticket.

To summarize the forum threads I linked:
- in one the solution was to upgrade the system -- it was outdated with "Windows Update" and somehow this contributed for that to happen.
- one suggestion around that seemed to work for somebody was to create a new app-pool with default settings and it worked; this suggests some limits setup to the app pool might have resulted in the issue.
- setup "machineKey" cookie timeout

All I found around suggest this is an issue caused by authentication; but if that were the case for you, you'd won't be able to fetch Ext.NET resources until you logged in. Assuming you use Ext.NET in your login screen, then that screen should break if you tried to access it if you weren't logged to the site authentication mechanism.

Hope this helps; let us know if you can get more details of the issue, we may be able to devise a better advice given more constraints.