'Static contents stuck in SendResponse after serving a video file
I'm working on an ASP.Net MVC application, running on .Net Framework 4.6.2. The application is currently deployed to a server with IIS 10.
Everything was working fine, until recently, we added some video (mp4) files into the website. Now, whenever staffs from our company browses the website and open up a video, and browse away to another page on the website before the video is completely played, the website no longer loads correctly for that user's browser.
If the video is fully streamed to the browser, then everything works as expected afterwards.
The videos are served with the HTML5 video tag, directly pointing to a physical file on the server, without any other JavaScript library:
<video src="video.mp4" controls controlslist="nodownload" disablepictureinpicture oncontextmenu="return false;" />
Note that the same behaviour happens if we directly browse to the video (browsing the src URL directly).
From IIS, I found that once a video begins to stream to a browser, if the video is not fully streamed before the user browse away, in subsequent requests there will always be a few static content files that will be stuck in SendResponse state. This causes the browser to be unable to render the page normally, giving the impression that the page would not load.
These static content files are all served with Bundling feature in ASP.Net MVC. Note that not all bundles are not able to be loaded, only some, and those are the bigger bundles of the bunch, but not necessarily the largest. Browser will eventually receive an ERR_HTTP2_PROTOCOL_ERROR for each of those static content bundle after a while, in which the items in SendResponse state on the IIS server will go away.
Strangely, incognito mode and non-incognito mode does not seem to affect one another: if user opens up a video and no longer be able to browse any page on the website in incognito mode, they can still browse the site just fine in non-incognito mode, until they browse to a video in the non-incognito mode.
The same behaviour applies to both Chrome and MS Edge in all the PCs we've tested in our company.
However, the same does not occur to our mobile devices, or our own devices at home.
Failed Request Tracing shows no error. Everything is returning code 200. Filtering the trace to code 400 and above tracked nothing.
I'm at a loss what other methods should I use to continue troubleshooting. Any pointer is greatly appreciated.
Solution 1:[1]
After some investigations and trial and errors, it was finally found that the culprit is the antivirus software. A ticket was submitted to the antivirus software company, and they acknowledged that it was their issue and released a hotfix.
Applying the hotfix resolved the problem.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Chan MT |
