質問

固有の問題があり、任意のバイナリデータを含む着信HTTP POST要求を処理する機能が欲しい。

現在、標準のASP.NETページハンドラーまたはASP Webサービスを使用してこのデータを処理できますが、WCFサービスで着信バイナリデータを処理できるかどうかを知りたいですか? WCF処理スタックにドリルダウンして、SOAP処理をバイパスし、独自のコードで生のメッセージを処理できますか?

これにより、WCF(WSDLを問わず)の「契約」公開が中断されることは理解していますが、それについてはあまり気にしません。

-Jeff

役に立ちましたか?

解決 4

この問題に数週間を費やした後、私はかなり決定的な答えを持っています:

XML / SOAPをWCFのカスタムバイナリシリアル化に置き換えることはできますか?

短い答え:いいえ

長文の答え:はい

Microsoftは、SOAP標準(および私の意見ではこの問題の原因となっている)に準拠しようとすると、単純なプログラミング規則の1つを破ります->レイヤー内の責任の分離。 WCF / SOAPはエレガントに階層化されたプロトコルとトランスポートのように見えるかもしれませんが、実際には、層間に複雑な接続が存在します。これは、WCFがトランスポート、セキュリティ、信頼性、公開、シリアル化、および何らかのレベルで相互依存するその他の機能を提供する非常に複雑な通信プロトコルであることを意味します。必要なのがトランスポートチャネルだけである場合、WCF / SOAPは非常に複雑になります。

SOAP yes / noについて大騒ぎを始めることができると確信していますが、最終的にWCF / SOAPはアプリケーションに必要なものではないことに気付きました。

-Jeff

他のヒント

MTOMの使用を検討してください。 MTOMは、SOAPメッセージを生のバイトとして含む大きなバイナリ添付ファイルを送信するためのメカニズムであり、より小さいメッセージを許可します。詳細については、次を参照してください。

http://msdn.microsoft.com/en-us/library /aa395209.aspx

ストリーミングを使用できます MSDN

私が知っている限り、サービスバインディングを設定できます。 http://www.c-sharpcorner.com/UploadFile/pjthesedays/ bindwcf05032009012251AM / bindwcf.aspx

netTcpBindingの使用

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