c# - 如何在 app.config 的绑定中设置 MessageVersion?
问题描述
我的 app.config 文件中有一个绑定,如下所示:
<bindings>
<basicHttpBinding>
<binding name="WebapiBindingWithCred" maxReceivedMessageSize="2147483647" messageEncoding="Text">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
maxArrayLength="16348" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
当我使用它时,我得到“无法识别的消息版本”错误作为响应。我读过我应该将我的 MessageVersion 设置为 Soap11,但我在任何地方都找不到这样做的标签。我该怎么做?
解决方案
您的绑定中需要以下标签:
<textMessageEncoding messageVersion="Soap11" />
但是,您需要使用自定义绑定,而不是 basicHttpBinding:
<customBinding>
<binding name="HttpBinding" >
<textMessageEncoding
messageVersion="Soap11"/>
<httpTransport />
</binding>
</customBinding>
推荐阅读
- discord - discordjs如何在没有dms的情况下控制台日志消息
- java - Swing JButton:图标和文本在一个位置
- flutter - 如何在 PopupMenuItem 中使用 onTap 或 onPressed
- regex - Lua - 拆分字符串但允许空值
- r - 使用 R 语言从 XML 数据文件构建表
- python - 如何在 sqlalchemy 中将列重置为其默认值?
- html - 如何在 REST 中将 HTML 作为响应发送?
- mysql - 在其他行中选择具有条件的行
- rust - Rust“由于需求冲突(E0495)而无法推断出适当的生命周期”
- laravel - 如何在 laravel 6 中安装干预/图像