输出前截取 Response 的数据的问题

haoya1 2012-05-21 10:42:32
我有一系列静态文件在服务器输出,比如 /doc/1.txt, /doc/2txt, /doc/3.txt

我的目的是在输出前用正则表达式替换一些字符


输出结果是与物理文件一一映射,必须是一一映射
http://www.test.com/doc/1.txt
http://www.test.com/doc/2.txt
http://www.test.com/doc/3.txt





我尝试用MVC的路由方法,但测试发现物理文件存在IIS会直接输出文件,而不走路由了,这个方法我暂时不考虑了,就用以下的另一个方法









我在 Global.asax 下使用 MvcApplication_EndRequest 可以截取 Response 了

Private Sub MvcApplication_EndRequest(sender As Object, e As System.EventArgs) Handles Me.EndRequest

'HttpContext.Current.Response.Filter 这就是输出流


End Sub



动态请求是没有问题的, HttpContext.Current.Response.Filter 的数据都可以读取与修改


但访问静态文件就不可以,测试发现 HttpContext.Current.Response.Filter.CanWrite 与 HttpContext.Current.Response.Filter.CanRead 的值都是 False,也就是不能修改也不能读取


有什么方法可以解决这个问题,请高手门指教



本人习惯写VB,请包函一下
...全文
88 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧