Получать запросы с файлом .asmx или файлом .aspx? - PullRequest
1 голос
/ 11 июля 2009

Я настраиваю свой сайт, чтобы получать информацию от людей через текстовое сообщение. Это работает так: они отправляют текстовое сообщение, а затем служба отправляет HTTP-запрос POST по указанному мной URL-адресу. Я слышал, что файлы .asmx лучше, чем файлы .aspx, потому что они не проходят весь жизненный цикл страницы. Однако я не совсем понимаю, как запустить файл .asmx, и можете ли вы даже назвать его с помощью POST, например, www.mysite.com/webservice.asmx? Я знаю, что могу заставить его работать с файлом .aspx, но я хотел проверить, есть ли лучший способ, прежде чем я предприму это усилие.

Спасибо за понимание!

Ответы [ 2 ]

7 голосов
/ 11 июля 2009

Хотя любое расширение может быть сопоставлено с любым обработчиком в ASP.NET, по умолчанию .aspx сопоставляется с обработчиком страниц, а .asmx сопоставляется с обработчиком веб-службы. Я думаю, что вы ищете .ashx, который представляет собой простой простой обработчик. Вам просто нужно реализовать метод ProcessRequest интерфейса IHttpHandler после добавления его в ваш проект (Добавить новый элемент -> Общий обработчик).

.ashx работает хорошо, если вы хотите вручную обработать запрос. Только если вы хотите предоставить веб-сервис (например, SOAP), вы должны использовать .asmx. Как следствие, наилучшее решение зависит от формата отправляемого ими HTTP-запроса POST. Если они отправляют необработанные данные в POST со своим собственным специальным протоколом, используйте .ashx. В противном случае, если они используют стандартный протокол RPC (SOAP, XML-RPC, ...), .asmx, вероятно, лучше.

0 голосов
/ 11 июля 2009

Создайте файл .asmx с помощью Visual Studio. Следует создать шаблон с методом HelloWorld . Перейдите к нему в своем любимом браузере, и вы получите объяснение того, как отправлять запросы на него различными способами.

Есть еще один тип, который вы не упомянули: ясень. Однако в вашем случае веб-сервис (asmx) будет иметь смысл.

...