我必须向期望以下模式作为输入的 WCF 服务发送 MTOM 请求:
<xs:complexType name="BinaryRequest">
<xs:sequence>
<xs:element minOccurs="0" name="requestContent" nillable="true" type="BinaryRequestContent" />
</xs:sequence>
</xs:complexType>
<xs:element name="BinaryRequest" nillable="true" type="BinaryRequest" />
<xs:complexType name="BinaryRequestContent">
<xs:sequence>
<xs:element minOccurs="0" name="partData" nillable="true" type="xs:base64Binary" />
<xs:element minOccurs="0" name="partNumber" type="xs:int" />
<xs:element minOccurs="0" name="transactionId" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="BinaryRequestContent" nillable="true" type="BinaryRequestContent" />
如您所见,“partData”属性的类型为 byte[],我希望能够对其进行流式传输并将其发送到单独的 MIME 部分中。
无法使用来自http://seroter.wordpress.com/biztalk-and-wcf-part-iv-attachment-patterns/的示例,因为我的二进制数据只是响应的一部分。
知道怎么做吗?我有一个测试解决方案,但二进制内容作为 base64 内联发送,而不是作为附件分隔 https://docs.google.com/file/d/0B1M277-_UZ35Si1JWWw5Nm9ia0E/edit?usp=sharing