2

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

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

これが WCF (WSDL は何でも) の「コントラクト」公開に違反することは理解していますが、それについてはあまり気にしません。

-ジェフ

4

4 に答える 4

2

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

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

于 2009-06-22T00:52:57.567 に答える
2

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

于 2009-06-21T12:19:22.570 に答える
0

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

netTcpBinding の使用

于 2009-06-21T12:17:41.140 に答える
-1

この問題に数週間費やした後、ほぼ決定的な答えが得られました。

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

短い答え:いいえ

長い答え: はい。ただし、ほとんどすべてのトランスポート層インターフェイスを書き直す必要があるため、カスタム IHttpHandler を作成し、WCF をすべて一緒に回避することもできます。

Microsoft は、SOAP 標準に従おうとして (そして、私の意見では標準がこの問題の原因であると考えています)、単純なプログラミング ルールの 1 つを破っています。WCF/SOAP は、洗練された階層化されたプロトコルとトランスポートのように見えるかもしれませんが、実際には、レイヤー間に複雑な接続があります。つまり、WCF は非常に複雑な通信プロトコルであり、トランスポート、セキュリティ、信頼性、パブリッシング、シリアライゼーション、およびすべてが相互に依存するその他の機能を提供します。トランスポート チャネルだけが必要な場合は、WCF/SOAP を使用すると非常に複雑になります。

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

-ジェフ

于 2009-07-17T02:28:44.723 に答える