我有一个托管在Windows服务上的WCF服务。现在我想为此服务添加文件传输功能,但我有以下问题;考虑到传输文件的方式和文件都不大(大约10MB):
1:我在MSDN中读到“流式传输中发生的操作最多可以包含一个输入或输出参数”。这是否意味着我不能使用多个参数或什么操作?
2:如果我使用 Streamed 进行传输模式,我是否必须关心在“in”或“out”参数是集合的操作中传输的数据大小?
3:我是否必须更改TransferMode以外的任何其他内容才能将模式设置为Streamed?
感谢。
答案 0 :(得分:3)
在WCF文件传输的某个方向上查看this post。您应该使用MTOM编码器。这篇文章有几个很好的理由,并有一些例子。
示例邮件合同:
[MessageContract()]
public class FileTransferRequest
{
[MessageHeader(MustUnderstand = true)]
public string FileName;
[MessageBodyMember(Order = 1)]
public System.IO.Stream Data;
}