-1

{http://myIp/Myhandler.ashx} に基づくジェネリック ハンドラーにリクエストを送信するようにサード パーティに指示したとします。彼らが送信した要求にどのように応答できますか? コンテキストオブジェクトへのアクセスを許可する関数プロセスリクエストがありますが、これを使用して、リクエストの発信元と同じ場所に応答が返され、リクエストへの応答として機能することを確認するにはどうすればよいですか。HTTPResponse オブジェクトを作成してサーバーに送信しようとしましたが、うまくいきませんでした。OK メッセージで返信し、ユーザーをリダイレクトする Web アドレスを提供しようとしています。

 public void ProcessRequest(HttpContext context)
        {

            string status = context.Request.Params["Status"];
            string statusDetail = context.Request.Params["StatusDetail"];

            switch (status.ToUpper())
            {
                case "OK":
                    {
                        StringBuilder content = new StringBuilder();

                        content.Append("Status=" + HttpUtility.UrlEncode("OK"));
                        content.Append("&RedirectURL=" + HttpUtility.UrlEncode("http://http://myip:myport/Error.aspx?Error=SUCCESS"));
                        content.Append("&StatusDetail=" + HttpUtility.UrlEncode("OK"));


                        HttpWebResponse response = SendPOSTRequest("http://theirip.page", content.ToString(), "", "", true);
}
}
4

3 に答える 3

6

context.Response応答ストリームへの書き込みに使用します。WriteASP、IIS、および HTTP は、応答ストリームへの書き込みが、実際に要求を送信したものに確実に送信されるようにします。

于 2012-11-08T16:54:48.117 に答える
1

パラメータを使用して、context送信する応答を設定します。応答は文字列であるため、次を使用できますWrite

context.Response.Write(content.ToString());

また、いくつかの応答ヘッダーを設定する必要があります。

context.Response.ContentType = "text/plain";
context.Response.ContentEncoding = System.Text.Encoding.Default;
于 2012-11-08T16:55:40.193 に答える
0
HttpWebResponse response = Context.Response

または単純に直接書き込みます

Context.Response = SendPOSTRequest ....
于 2012-11-08T16:55:33.760 に答える