【发布时间】:2011-05-04 17:15:09
【问题描述】:
这似乎是一个简单的操作。
我们需要在我们的开发环境中(在 XP/IIS 5 上运行)在到达我们应用程序的每个 HttpRequest 中添加一些标头。 (这是为了模拟我们在 dev 中没有的生产环境)。乍一看,这似乎是一个简单的 HttpModule,大致如下:
public class Dev_Sim: IHttpModule
{
public void Init(HttpApplication app)
{
app.BeginRequest += delegate { app.Context.Request.Headers.Add("UserName", "XYZZY"); };
}
public void Dispose(){}
}
但是在尝试这样做时,我发现 Request 的 Headers 集合是只读的,并且 Add 方法失败并出现 OperationNotSupported 异常。
我花了几个小时在 Google 上研究这个问题,但对于应该是一个相对简单的问题,我没有找到简单的答案。
有人指点一下吗?
【问题讨论】:
-
可以修改响应流。你有什么具体的东西可以处理和替换吗?
-
我不想修改响应。我需要修改请求,并将其发送到链的其余部分,最终以我的 MVC 应用程序结束。当它到达我的应用程序时,我的应用程序必须能够看到我尝试在此模块中插入的标题。
标签: c# iis http-headers httprequest