質問

ColdFusionで記述されたレガシーアプリからASP.Net Web Formsアプリケーションに切り替えます。 1つの要件は、レガシーWebサービスを移行することです。アドレスは変更できますが、入力と応答の形式は同じである必要があります。私はWebサービスには比較的慣れていませんが、.Net WebサービスにはSOAPとJSONの両方の出力形式があることを知っています(他の場合もあります)。しかし、これらはどちらも機能しません。

指定された応答を完全に制御する必要があります。 .ASPXページを使用してこれを行っていた場合、レガシーレポーズを文字列に書き込み、応答をクリアしてから、その文字列を応答に追加し、Response.Endを呼び出します。

.ASMXに類似したものはありますか?

それを行うためのよりスマートな方法はありますが、ASP.Net Webアプリケーションの残りのコードベースと統合できますか?

役に立ちましたか?

解決

完全な応答制御が必要な場合は、ASPXページサイクルドラマをスキップして、代わりに.ASHXの使用を検討してください。それはかなり生であり、あなたが必要なものかもしれません。

他のヒント

WCFを使用して、SOAPの代わりにプレーンオールドXML(POX)を実装できます。

WebHttpBindingは、これに使用するバインディングです。 「完全なコントロール」の場合既存のサービスを明示的なWCF契約にリバースエンジニアリングする可能性を否定し、出力を完全に制御するためのストリーム

必要な形式によって異なります。
ASMXとWCFは、真正なSOAP応答を生成します。
正しく理解できれば、「SOAPは機能しません」と言われました。奇数の形式が必要な場合は、ASPXページで説明した方法で確実に生成できます。ただし、プログラミングモデルはそれほど良くありません。

使用しているVisual Studioのバージョンは何ですか? Visual Studio 2008(SP1)を使用している場合、ASMX Webサービスを作成しないでください。マイクロソフトは現在、そのテクノロジーを「レガシー」とみなしており、バグを修正する予定はありません。

代わりに、WCFサービスを作成する必要があります。出力形式を完全に制御できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top