所以,我有一个网站,通过HTTP处理程序提供视频,这是我们的安全层。一些客户报告称视频不是间歇性地工作。我终于能够重现这个问题了,我们的日志编码报告成功验证了用户,然后就行了:
Response.WriteFile(filename); // Where this is the path to a video of about 32 MB
抛出上述异常。我通过Fiddler查看请求和响应找到了实际错误。但是服务器有2 GB的可用内存,并且视频在一小时左右后再次开始工作(这可能相当于使用服务器的人数减少,但没有任何改变)。我们在这台机器上运行了两个网站,而另一个网站从来没有这样的问题,但它也没有使用这样的层,其中.NET代码负责编写文件。我没有看到任何允许我更改可用内存的设置,也没有google抛出任何有用的内容。任何建议表示赞赏。
我应该补充一下,我停下来开始然后重新启动我的网站,我有过短期内通过这样做解决的问题。这没有用。
答案 0 :(得分:1)
我刚尝试Response.WriteFile
一个~170 MB的pdf。
就我而言,使用Response.TransmitFile
代替工作; (也许)因为它
将指定文件直接写入HTTP响应输出流, 不在内存中缓存。