【发布时间】:2012-08-20 16:35:59
【问题描述】:
当我的 ASP.NET 代码正在流式传输一个大文件时,它是否完全束缚了一个线程?也就是说,如果有 8 个人在下载大文件,而我只有 8 个线程可用,会不会再处理请求?
在任何情况下,我都需要找到另一种方法来保护大型静态文件,最好是在用户获得授权后让 IIS 直接为其提供服务,以便让应用程序服务器不必处理 IIS 的问题, Nginx 等可以在不打任何托管代码的情况下做得更好。
如果您的应用程序在其响应中放置“X-Accel-Redirect”标头,我相信 Nginx 允许这样做:http://kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/。 Apache 和 Lighttpd 具有相同的功能。
有什么建议吗?
【问题讨论】:
-
如果文件在磁盘上,执行 HttpResponse.Redirect(pathtofile, true);
-
重定向不起作用,因为这需要浏览器直接访问文件。我正在寻找更类似于服务器端 url 重写而不是客户端重定向的东西。
标签: asp.net iis download authorization static-files