Pregunta

Estamos cambiando de una aplicación heredada escrita en ColdFusion a una aplicación de formularios web ASP.Net. Un requisito es moverse sobre el servicio web heredado. La dirección puede cambiar, pero el formato de la entrada y las respuestas deben ser iguales. Soy relativamente nuevo en los servicios web, pero sé que existen formatos de salida SOAP y JSON para un servicio web .Net (quizás otros). Pero ninguno de estos es viable.

Necesito tener control completo sobre la respuesta dada. Si lo estuviera haciendo con una página .ASPX, solo escribiría el reposo heredado en una cadena, borraría la Respuesta y luego agregaría esa cadena a la Respuesta y llamaría Respuesta.End.

¿Hay algo similar para un .ASMX?

¿Existe una forma más inteligente de hacerlo y aún así poder integrarse con el resto de la base de código de la aplicación web ASP.Net?

¿Fue útil?

Solución

Si solo necesita un control de respuesta completo, omita el drama del ciclo de páginas ASPX y busque usar un .ASHX en su lugar. Es bastante crudo y puede ser lo que necesites.

Otros consejos

Puede usar WCF para implementar XML antiguo (POX) en lugar de SOAP.

El enlace WebHttpBinding es el enlace a usar para esto. Si tu " control completo " niega la posibilidad de realizar ingeniería inversa del servicio existente en un contrato explícito de WCF, entonces puede usar un Transmisión para obtener el control completo de la salida .

Depende del formato que necesites.
ASMX y WCF generarán respuestas de SOAP de buena fe.
Si comprendo correctamente, usted dijo que "SOAP no es viable". Si necesita un formato extraño, puede generarlo de la manera que describió con una página ASPX. Sin embargo, el modelo de programación no será tan bueno.

¿Qué versión de Visual Studio está usando? Si tiene Visual Studio 2008 (SP1), no debe crear un servicio web ASMX. Microsoft ahora considera que la tecnología es "heredada" y no planea solucionar ningún error en ella.

En su lugar, debe crear un servicio WCF. Puedes controlar el formato de salida completamente.

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