Frage

Wir wechseln von einer Legacy -App, die in Coldfusion geschrieben wurde, zu einer ASP.NET -Webformulationsanwendung. Eine Voraussetzung ist, den Legacy -Webdienst zu überziehen. Die Adresse kann sich ändern, aber das Format der Eingabe und der Antworten muss gleich sein. Ich bin relativ neu in Webdiensten, aber ich weiß, dass es sowohl Seifen- als auch JSON -Ausgabeformate für einen .NET -Webdienst (vielleicht andere) gibt. Aber keiner davon ist praktikabel.

Ich muss die vollständige Kontrolle über die gegebene Antwort haben. Wenn ich es mit einer .aspx -Seite tun würde, würde ich einfach die Legacy -Ruhe in eine Zeichenfolge schreiben, die Antwort löschen und diese Zeichenfolge dann zur Antwort und die Anrufantwort hinzufügen.

Gibt es etwas Ähnliches für a .asmx?

Gibt es eine intelligentere Möglichkeit, dies zu tun, und kann sich trotzdem in den Rest der Codebasis der ASP.NET -Webanwendung integrieren?

War es hilfreich?

Lösung

Wenn Sie nur eine vollständige Antwortsteuerung benötigen, überspringen Sie das ASPX -Seitenzyklusdrama und untersuchen Sie stattdessen eine .ashx. Es ist ziemlich roh und kann das sein, was Sie brauchen.

Andere Tipps

Sie können WCF verwenden, um einfache alte XML (POX) anstelle von Seife zu implementieren.

Das WebHTTPBinding ist die Bindung, die dafür verwendet werden kann. Wenn Ihre "vollständige Kontrolle" die Möglichkeit negiert, den vorhandenen Service in einen expliziten WCF -Vertrag zu entwickeln, können Sie a verwenden Stream, um die vollständige Kontrolle über die Ausgabe zu erhalten.

Hängt vom Format ab, das Sie benötigen.
ASMX und WCF generieren Bona-Fide-Seifenreaktionen.
Wenn ich richtig verstehe, sagten Sie "Seife ist nicht praktikabel". Wenn Sie ein merkwürdiges Format benötigen, können Sie es sicherlich so generieren, wie Sie es mit einer ASPX -Seite beschrieben haben. Das Programmiermodell wird jedoch nicht so nett sein.

Welche Version von Visual Studio verwenden Sie? Wenn Sie Visual Studio 2008 (SP1) haben, sollten Sie keinen ASMX -Webdienst erstellen. Microsoft hält diese Technologie nun für "Vermächtnis" und plant nicht, Fehler darin zu beheben.

Stattdessen sollten Sie einen WCF -Dienst erstellen. Sie können das Ausgangsformat vollständig steuern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top