可以在发布之前设置HTTP标头

时间:2012-04-17 10:27:58

标签: asp.net http-headers

很确定我知道这个问题的答案,但我想确保我没有错过任何东西......

运行ASP.NET 4.0并有一个请求,我需要将用户发送到第三方应用程序,但在执行此操作之前设置HTTP标头值。这将是一个Request标头。我可以设置响应标头没有问题,但由于集合是只读的,我无法使用Request标头。基本上,这个过程如下:

  1. 用户点击按钮以启动转移到第三方应用
  2. 返回页面帖子,我们抓取用户信息 - 此时我需要设置标题
  3. 发出Response.Redirect并将其发送至第三方应用。
  4. 注意:我没有停留在Response.Redirect上;我可以将表单更改为POST到第三方应用程序,只是为了转移用户,这很好。

    我相信我可以设置一个IIS重写规则来设置标题(基于这篇文章:http://learn.iis.net/page.aspx/686/setting-http-request-headers-and-iis-server-variables/)但我不想走那条路,因为标题值将包含一个UserID而且我会而不是将其暴露给用户 - 即使是短暂的时刻。我当然明白,即使是标题也不是隐形的,因为有人可以检查页面,但我并不关心它。

    任何想法都会有很大的帮助。

    谢谢, 莱恩

1 个答案:

答案 0 :(得分:0)

怎么样:

using System.Net;

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com");
req.Headers.Add(new HttpRequestHeader(), "my header content");