HttpModule для добавления заголовков в запрос

Это кажется простой операцией.

У нас есть потребность в нашей среде разработки (работающей на 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(){}
}

Но, пытаясь сделать это, я обнаружил, что коллекция заголовков запроса доступна только для чтения, а метод Add не работает с исключением OperationNotSupported.

Потратив пару часов на изучение этого вопроса в Google, я придумал нелегкий ответ на то, что должно быть относительно простой проблемой.

Есть ли у кого-нибудь указатели?

10
задан Steven V 10 June 2014 в 13:47
поделиться