Processing static files via HttpModule in ASP.NET

老子叫甜甜 提交于 2020-01-01 03:46:08

问题


I have statiс files in website folder, but need to check permissions for every file. I decided to use HttpModule for that purposes.

ASP.NET receives all the http-requests (I used wildcard mapping) and

The algorith is the following:

  1. HttpModule receives the request
  2. HttpModule checks permissions
  3. If access is denied then the answer is "Forbidden". If all is OK then httpModule's method just returns.
  4. DefaultHttpHandler is automatically used to process request for static files

The problem is that DefaultHttpHandler is not effective enough (it doesn't use file cache, etc.). But IIS (without ASP.NET) works with static files in a very good way.

All I want is to let IIS serve static files after my checks. Is there any way to implement it?


回答1:


If you're using IIS7 then yes, it's quite easy. In the integrated mode, all requests go through the managed pipeline. Let IIS serve the files, but add a HttpHandler to do the checks. Or you can use one of the authorization methods that ASP.NET offers.




回答2:


I have a solution that could be used to stream the file in IIS 6. It does all the good things like resumable downloads, client side caching (etag & expires) and server side caching.

http://code.google.com/p/talifun-web/wiki/StaticFileHandler

It should be easy enough to extend to include authorization before serving up the file.



来源:https://stackoverflow.com/questions/989178/processing-static-files-via-httpmodule-in-asp-net

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!