Receber solicitações com um arquivo .asmx ou um arquivo .aspx?
Pergunta
Estou configurando meu site para receber informações de pessoas por mensagem de texto. A maneira como funciona é que eles enviam um número, esse serviço envia uma postagem HTTP para um URL que eu especificar. Ouvi dizer que os arquivos .ASMX são melhores que os arquivos .aspx porque eles não passam por todo o ciclo de vida da página. No entanto, eu realmente não entendo como colocar um arquivo .asmx em execução e você pode chamá -lo com uma postagem, ou seja, www.mysite.com/webservice.asmx? Sei que posso fazê -lo funcionar com um arquivo .aspx, mas queria verificar se havia uma maneira melhor antes de realizar esse empreendimento.
Obrigado pela sua visão!
Solução
Embora qualquer extensão possa ser mapeada para qualquer manipulador no ASP.NET, por padrão .aspx
é mapeado para o manipulador de páginas e .asmx
é mapeado para o manipulador de serviços da web. Eu acho que você está procurando .ashx
que representa um manipulador simples genérico. Você só precisa implementar ProcessRequest
Método do IHttpHandler
Interface depois de adicionar um ao seu projeto (adicione um novo item ->
Manipulador genérico).
o .ashx
Funciona bem se você deseja processar manualmente a solicitação. Somente se você quiser fornecer um serviço da web (por exemplo, sabão), você deve ir com .asmx
. Como conseqüência, a melhor solução depende do formato da solicitação de postagem HTTP que eles enviam. Se eles enviarem dados brutos no post com seu próprio protocolo específico, vá com .ashx
. Caso contrário, se eles estiverem usando um protocolo RPC padrão (SOAP, XML-RPC, ...), .asmx
é provavelmente melhor.
Outras dicas
Crie um arquivo .asmx com o Visual Studio. Deve criar um modelo com um Olá Mundo método. Navegue com seu navegador favorito e você realmente terá uma explicação sobre como postar solicitações usando vários métodos.
Há outro tipo que você não mencionou: Ashx. No entanto, no seu caso, um serviço da web (ASMX) faria sentido.