Обработчик Asp.net отправляет данные - PullRequest
0 голосов
/ 09 ноября 2010

Как я могу отправить данные обработчику asp.net ashx? например, если я хочу отправить xml на asp.net, как это возможно?

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

Вместо использования HttpHandler лучше использовать вместо него веб-сервис или сервис WCF.Однако, если вы хотите, вы можете опубликовать что-то в обработчике и записать это следующим образом:

public void ProcessRequest (HttpContext context) {
    var xml = context.Request.Form["data"];
}

для данных POST.Для получения данных GET вы можете использовать:

public void ProcessRequest (HttpContext context) {
    var xml = context.Request.QueryString["data"];
}

Или просто:

public void ProcessRequest (HttpContext context) {
    var xml = context.Request["data"];
}

, который будет внутренне выполнять циклы возможных способов сбора данных.

1 голос
/ 09 ноября 2010

AFAIK, обработчики обрабатывают HTTP-запросы и поэтому имеют доступ к HttpContext.Поэтому вы вызываете обработчик типа «myhandler.ashx? Parameter = value», а затем используете HttpContext.Request.QueryString (context.Request.QueryString ["parameter"]), чтобы найти значение.

Аналогично, вы можете POST-данные обработчику, добавить свой XML как переменную POST и затем использовать context.Request.Form ["myXmlData"]

Вы можете вызвать обработчик из любого htmlстраница:

<body>
    <form method="POST" action="MyHandler.ashx">
        Paste your XML in this textarea:
        <textarea name="MyXmlData" id="MyXmlData" cols="80" rows="10"></textarea><br />
        <button type="submit" value="Call Handler"></button>
    </form>
</body>

...