Server.Transfer to HttpHandler - PullRequest
       11

Server.Transfer to HttpHandler

6 голосов
/ 29 июля 2011

У меня есть IHttpHandler со следующим методом ProcessRequest:

public void ProcessRequest(HttpContext context) {
    int id = Convert.ToInt32(context.Request.QueryString["id"] + 151);
    var xml = XDocument.Parse("<xml><cartid>" + id + "</cartid></xml>");
    context.Response.Write(xml);
}

, который я пытаюсь использовать со страницы aspx следующим образом:

protected void Page_Load(object sender, EventArgs e) {
    order o = new order();
    Server.Transfer(o, false);
}

Я получаю HttpException:Ошибка выполнения дочернего запроса для обработчика 'PostTest.order'.

Если я вместо этого пытаюсь выполнить передачу следующим образом:

Server.Transfer("~/order.ashx?id=65", false)

Я получаю HttpException: Ошибка при выполнении дочернего запроса для /order.ashx.

Я делаю это неправильно или есть другой способ добиться того, чего я хочу?

1 Ответ

12 голосов
/ 29 июля 2011

Просто передайте контекст:

var handler = new order();
handler.ProcessRequest(Context);
Response.End();
...