quashBox、
ちょうど先週、この演習を行ったところです。重要なのは、MTOM 添付ファイルをストリーミングすることです。これは、より大きな添付ファイルを送信する最も効率的な方法のようです。ここに私が掘り起こしたばかりで、非常に役立つことがわかったいくつかのリソースがあります...
MSDN - ストリーミングを有効にする方法
http://msdn.microsoft.com/en-us/library/ms789010.aspx
WCF ブログで大きなメッセージを転送する
http://nagavitalp.blogspot.com/2011/04/transfer-large-messages-in-wcf-part-1.html
WCF ストリーミング: HTTP 経由でファイルをアップロード
http://kjellsj.blogspot.com/2007/02/wcf-streaming-upload-files-over-http.html
いくつかの高レベルのキー:
メッセージ コントラクトには単一のストリーム ボディ メンバーが必要です。他のすべての要素は、次のようにメッセージ ヘッダーに配置する必要があります (VB.NET には申し訳ありませんが、私が現在使用しているショップではそれを使用しています)。
<MessageContract()>
Public Class StreamAttachmentRequest
<MessageHeader(MustUnderstand:=True)>
Public Property AttachmentName As String
<MessageBodyMember(Order:=1)>
Public Property Attachment As Stream
End Class
ストリーミング MTOM 用にバインディングを構成する必要があります。お気に入り...
<bindings>
<basicHttpBinding>
<binding name="TestCaseBasicBinding"
messageEncoding="Mtom"
transferMode="StreamedRequest"
maxReceivedMessageSize="2147483647"
closeTimeout="00:30:00"
openTimeout="00:30:00"
receiveTimeout="00:30:00"
sendTimeout="00:30:00">
非常に大きな添付ファイルを転送する場合は、最大リクエスト長を設定する必要がある場合があります
<httpRuntime executionTimeout="1800" maxRequestLength="2097151" />
頑張ってね、パトリック