Вы не сможете изменить коллекцию HttpRequest.Headers
или HttpRequest.ServerVariables
. Однако вы сможете прикрепить вашу информацию к любому из:
HttpContext.Current.Items
HttpContext.Current.Response.Headers
К сожалению, Request.Params, Request.QueryString, Request.Cookies, Request.Form
(и почти в любом другом месте, где вы могли бы подумать о том, что его начинать, доступно только для чтения.
Я бы настоятельно рекомендовал не использовать рефлексию, если это HttpModule, который вы планируете установить в IIS 7 . Учитывая, что этот код будет вызываться (потенциально) для каждого запроса, проходящего через веб-сервер, он должен быть очень быстрым, и рефлексия просто не собирается его сокращать (если у вас мало пользователей).
Удачи!