Asmx-запрос - как получить все POST-параметры - PullRequest
0 голосов
/ 24 июня 2011

есть способ получить все параметры, которые были опубликованы в ASMX в ASP.NET.Request.Form / QueryString / Params - все они не содержат ключей, которые были отправлены на страницу.

1 Ответ

2 голосов
/ 24 июня 2011

Если ваш ASMX не будет вызван как HTTP POST с типом контента как "application/x-www-form-urlencoded", вы не получите эти параметры от объекта HttpRequest.

Это просто потому, что тело запроса может иметь любой тип содержимого - например, в службах сценариев (ASP.NET AJAX) тело запроса будет иметь данные JSON. Если к ASMX обращались как к веб-службе SOAP, то телом запроса будет XML (фактический конверт SOAP).

Обычно ASP.NET во время выполнения на основе конфигурации пытается проанализировать тело запроса и пытается преобразовать его в вызов метода вместе с фактическими параметрами метода. Поэтому правильным способом было бы проверить параметры вашего метода в коде метода. Сложный подход заключается в том, чтобы ссылаться на тип содержимого запроса и анализировать (самостоятельно) тело запроса (HttpRequest.InputStream) соответственно.

...