Pergunta

Estamos mudando de um aplicativo Legacy escrito em ColdFusion para um aplicativo ASP.NET Web Forms. Um requisito é mover -se sobre o serviço da web herdado. O endereço pode mudar, mas o formato da entrada e as respostas deve ser o mesmo. Sou relativamente novo nos serviços da Web, mas sei que existem formatos de saída SOAP e JSON para um serviço .NET Web (talvez outros). Mas nenhum deles é viável.

Eu preciso ter controle completo sobre a resposta dada. Se eu estivesse fazendo isso com uma página .aspx, apenas escreveria o legado em uma string, limpe a resposta e adicionaria essa string à resposta e resposta da resposta.

Existe algo semelhante para um .asmx?

Existe uma maneira mais inteligente de fazê -lo e ainda poder se integrar ao restante da base de código do aplicativo da Web ASP.NET?

Foi útil?

Solução

Se você precisar apenas de controle de resposta completo, pule o drama do ciclo da página ASPX e procure usar um .ashx. É bastante cru e pode ser o que você precisa.

Outras dicas

Você pode usar o WCF para implementar xml antigo simples (varíola) em vez de sabão.

O WebHttpBinding é a ligação a ser usada para isso. Se o seu "controle completo" negar a possibilidade de engenharia reversa do serviço existente em um contrato explícito da WCF, você poderá usar um Stream para obter o controle completo da saída.

Depende do formato que você precisa.
O ASMX e o WCF gerarão respostas de sabão de boa-fé.
Se eu entendi corretamente, você disse que "sabão não é viável". Se você precisar de um formato ímpar, certamente pode gerá -lo da maneira que descreveu com uma página ASPX. O modelo de programação não será tão bom, no entanto.

Qual versão do Visual Studio você está usando? Se você possui o Visual Studio 2008 (SP1), não deve criar um serviço da Web ASMX. A Microsoft agora considera que a tecnologia é "legado" e não planeja corrigir nenhum erro.

Em vez disso, você deve criar um serviço WCF. Você pode controlar completamente o formato de saída.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top