-
Notifications
You must be signed in to change notification settings - Fork 523
Zero Content-Length for static file on Ubuntu #2082
Comments
Can you share a Fiddler trace? Note there's no functional link between the File result in MVC and UseStaticFiles, they operate independently. I've seen this behavior before. The odd requests are normal request but the even requests have conditional headers like if-modified-since. The result from these even requests is supposed to be a 304 not-modified with no body. There's a disconnect where something sets the content-length but then does not write the body, likely based on these conditional headers. I'll try to track down the old bug for you. I don't think #1289 is the same issue, that was an overwrite rather than an underwrite. |
I'm not finding the matching bug. I assume you're hitting this new code path: But I don't see it setting the Content-Length in this case. In fact, I don't see it setting the ContentLength for the 200 responses either. @jbagga |
I think this might be the bug https://github.com/aspnet/Mvc/blob/rel/2.0.0/src/Microsoft.AspNetCore.Mvc.Core/Internal/FileResultExecutorBase.cs#L85-L91 If the status is 304 or 412, Content-Length should not be set because an empty body is being returned. @Tratcher |
This issue was moved to aspnet/Mvc#6875 |
I've developed SPA application (ASP core,MVC,Angular) on Windows but can not host it on Linux. When I reload webpage in browser by F5 Kestrel prints out error and webbrowser receives HTTP code 500. This happens every second reload.
Environment:
#dotnet --info
Steps to reproduce:
#dotnet new mvc
#dotnet run
Now, If you try to open localhost:5000 browser will show content of the 1.txt, if you press F5 it'll show error 500. Press F5 again and it'll display content of 1.txt again, etc...
I tried to change Startup.cs to (as stated in #1289 ):
, but this does not help.
If I set breakpoint in Home/Index controller method it is hit every time (i.e. on every reload). But it returns content-length=0 on every even reload. On every odd reload it returns correct value.
The text was updated successfully, but these errors were encountered: