【问题标题】:MTOM is not working in WCFMTOM 在 WCF 中不起作用
【发布时间】:2014-01-14 12:37:47
【问题描述】:

我有一个简单的自托管 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,但仍然没有运气。

您对为什么它可能不起作用有任何想法吗?如果您需要有关该问题的更多信息,请告诉我。

提前致谢。

【问题讨论】:

    标签: c# wcf web-services mtom


    【解决方案1】:

    当你创建时

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

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

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

    【讨论】:

    • 嗨,是的,我做到了。它也是这样配置的,客户端的端点也是如此。
    猜你喜欢
    • 2015-07-06
    • 1970-01-01
    • 2012-04-25
    • 2023-04-06
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多