1

私はc#で承認管理モジュールをコーディングしています。クレデンシャルはhttpヘッダーから抽出されます。私の問題は:httpヘッダーがどのように見えるか(txtファイル)の定義しかありません。したがって、テスト用にコードのヘッダーを準備する必要があります(default.aspxのヘッダーにキーと値を追加します):

Response.AppendHeader("contractualData", "03346-b0-t-vg");
Response.AppendHeader("Location", "Default.aspx");
Response.Redirect("page2.aspx");

そして、page2.aspxpageloadのヘッダーを読んだときよりも

Request.Headers["contractualData"];

新しく追加されたキーと値が表示されません(IEWatchの応答ヘッダーに表示されますが、request.headersでは読み取れません。Response.AddHeaderまたはResponse.Headers.Addでも試しました。同じ動作!) 私は何をすべきか?

一般に、カスタムヘッダーを準備し、そのヘッダーを使用してコードをテストするにはどうすればよいですか?

4

2 に答える 2

1

私は解決策を見つけました。リクエストヘッダーを作成して投稿します。次のコードは機能します:

protected void Page_Load(object sender, EventArgs e)

        {


            string path = Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port + "/";

            myRedirect(path + "TestRedirectTo.aspx", "test", "testValue");

        }

        protected void myRedirect(string url, string headerName, string headerValue)

        {

            Response.Clear();

            System.Net.WebRequest request = System.Net.WebRequest.Create(url);

            request.Headers.Add(headerName, headerValue);

            System.Net.WebResponse response = request.GetResponse();

            System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.Default);


            string content = sr.ReadToEnd();

            sr.Close();

            Response.Write(content);

            sr.Close();

            Response.End();

        }
于 2012-10-05T16:28:17.250 に答える
0

逆行しない限り、送信ページでは、ヘッダーの送信にリクエストが使用されます。受信ページでは、リクエストを使用してそれらを読み取る必要があります。

于 2012-10-04T13:36:12.060 に答える