繁体   English   中英

MTOM在WCF中不起作用

[英]MTOM is not working in WCF

我有一个简单的自托管WCF Web服务和客户端,我试图让他们使用MTOM发送和接收文件,尤其是图像。 我检查了Microsoft示例,基本上,他们所做的只是设置配置文件以将MTOM用作MessageEncoding进行绑定。 我也这样做了,并遵循了大量的教程和文章,如果我检查了

(selfHost.Description.Endpoints[0].Binding as WSHttpBinding).MessageEncoding属性在运行时,它是我期望的MTOM。 但是,当我通过实现和IClientMEssageInspector检查客户端的已发送和已接收消息时,我看到它们是作为普通文本肥皂消息发送的。 我可以在<Image>节点内的消息中看到巨大的base64字符串。 发送相同文件后检查Microsoft MTOM示例客户端的消息时,没有base64字符串,并且请求的正文仅显示
<s:Body>... secuencia ...</s:Body> (我想用英语会说“序列”)。

我不知道该怎么做才能使其正常工作。 我尝试了不同的文件大小,从几KB到近2MB。 我尝试通过代码而不是配置文件来设置MEssageEncoding ,但仍然没有运气。

您对为什么它不起作用有任何想法吗? 让我知道您是否需要有关此问题的更多信息。

提前致谢。

当您创建

<binding name="mybindingname" messageEncoding="MTOM" ...>,

是否将绑定名称添加到服务中,如下所示?

<service>
<endPoint bindingConfiguration="mybindingname" ... />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM