Domanda

Passiamo da un'app legacy scritta in ColdFusion a un'applicazione ASP.Net Web Forms. Un requisito è passare al servizio Web legacy. L'indirizzo può cambiare, ma il formato dell'input e delle risposte deve essere lo stesso. Sono relativamente nuovo per i servizi Web, ma so che ci sono formati di output SOAP e JSON per un servizio Web .Net (forse altri). Ma nessuno di questi è praticabile.

Devo avere il controllo completo sulla risposta fornita. Se lo facessi con una pagina .ASPX, scriverei semplicemente il riposo legacy in una stringa, cancellerei la risposta e poi aggiungerei quella stringa alla risposta e chiamerei Response.End.

Esiste qualcosa di simile per un .ASMX?

Esiste un modo più intelligente per farlo ed essere ancora in grado di integrarsi con il resto della base di codice dell'applicazione Web ASP.Net?

È stato utile?

Soluzione

Se hai solo bisogno del controllo completo della risposta, salta il dramma del ciclo di pagine ASPX e cerca invece di utilizzare un .ASHX. È abbastanza grezzo e potrebbe essere quello che ti serve.

Altri suggerimenti

È possibile utilizzare WCF per implementare il semplice vecchio XML (POX) anziché SOAP.

WebHttpBinding è l'associazione da utilizzare per questo. Se il tuo "controllo completo" annulla la possibilità di decodificare il servizio esistente in un contratto WCF esplicito, quindi è possibile utilizzare un Stream per ottenere il controllo completo dell'output .

Dipende dal formato che ti serve.
ASMX e WCF genereranno risposte SOAP in buona fede.
Se ho capito bene, hai detto che "SOAP non è realizzabile". Se hai bisogno di un formato dispari, puoi sicuramente generarlo come descritto con una pagina ASPX. Il modello di programmazione non sarà così bello, però.

Quale versione di Visual Studio stai usando? Se si dispone di Visual Studio 2008 (SP1), non è necessario creare un servizio Web ASMX. Microsoft ora ritiene che la tecnologia sia "legacy" e non prevede di correggere alcun bug al suo interno.

Invece, dovresti creare un servizio WCF. Puoi controllare completamente il formato di output.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top