Recibir solicitudes con un archivo .asmx o un archivo .aspx?
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!
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.