Pregunta

Soy la creación de mi sitio para recibir información de las personas a través de mensajes de texto. La forma en que funciona es que una serie de texto, que el servicio envía un HTTP POST a una URL que especifique. He oído que los archivos .asmx son mejores que los archivos .aspx, ya que no van a través de todo el ciclo de vida de la página. Sin embargo, yo no entiendo muy bien cómo conseguir un archivo running .asmx y se puede siquiera llamarlo con un POST, es decir, www.mysite.com/webservice.asmx? Sé que puedo hacer que funcione con un archivo .aspx, pero quería comprobar para ver si había una mejor manera antes de emprender esta tarea.

Gracias por su comprensión!

¿Fue útil?

Solución

Mientras que cualquier extensión puede ser asignada a cualquier manejador en ASP.NET, por defecto .aspx se asigna al controlador de página y .asmx se asigna al controlador de servicio Web. Creo que busca .ashx que representa un controlador genérico sencilla. Sólo tiene que implementar el método de la interfaz ProcessRequest IHttpHandler después de añadir uno a su proyecto (Add New -> artículo Handler Genérico).

El .ashx funciona bien si desea procesar manualmente la solicitud. Sólo si desea proporcionar un servicio Web (por ejemplo SOAP), hay que ir con .asmx. Como consecuencia de ello, la mejor solución depende del formato de la solicitud HTTP POST que envían. Si envían los datos en bruto en POST con su propio protocolo específico, ir con .ashx. De lo contrario, si están utilizando un estándar de RPC (SOAP, XML-RPC, ...) de protocolo, .asmx es probablemente mejor.

Otros consejos

Crear un archivo .asmx con Visual Studio. Se debe crear una plantilla con un HelloWorld método. Explora con su navegador favorito y que realmente va a obtener una explicación sobre cómo publicar peticiones a él mediante varios métodos.

Hay otro tipo que no ha mencionado: ashx. Sin embargo, en su caso, un servicio web (ASMX) tendría sentido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top