gpt4 book ai didi

WCF 自定义绑定(bind)/扩展导致 app.config 中的验证错误

转载 作者:行者123 更新时间:2023-12-04 14:28:22 25 4
gpt4 key购买 nike

我很好奇是否有人知道如何解决这个问题:当我将 bindingExtension 或 bindingElementExtension 添加到我的 WCF 配置时,Visual Studio 会抛出架构验证警告,因为扩展的名称不在 system.serviceModel 架构中:

警告 1 元素“绑定(bind)”具有无效的子元素“nmsBinding”。 List of possible elements expected: 'basicHttpBinding, customBinding, msmqIntegrationBinding, netPeerTcpBinding, netMsmqBinding, netNamedPipeBinding, netTcpBinding, wsFederationHttpBinding, ws2007FederationHttpBinding, wsHttpBinding, ws2007HttpBinding, wsDualHttpBinding, mexHttpBinding, mexHttpsBinding, mexNamedPipeBinding, mexTcpBinding, webHttpBinding, netTcpContextBinding, wsHttpContextBinding, basicHttpContextBinding'.

这可能是个愚蠢的问题,但是有没有一种方法可以“动态地”向 visual studio 注册这些扩展,以便它们进行验证?我想我可以在 visual studio 配置中的某处放置一个 xsd,但如果有其他神奇的方法,我宁愿不这样做。

这是我的 serviceModel 配置的样子:

<system.serviceModel>

<services>
<service name="Zed.Apache.NMS.WCF.Test.Server.TestApacheNMSService">
<endpoint
name="nmsServiceEndpoint"
address="tcp://localhost:61616"
binding="nmsBinding"
bindingConfiguration="defaultNmsBinding"
contract="Zed.Apache.NMS.WCF.Test.Server.ITestApacheNMSService" />
</service>
</services>

<bindings>
<nmsBinding> <!-- VALIDATION ERROR HERE -->
<binding name="defaultNmsBinding"
destination="TestApacheNMSQueue"
destinationType="Queue" />
</nmsBinding>
</bindings>

<extensions>
<bindingExtensions>
<add name="nmsBinding"
type="Apache.NMS.WCF.NmsBindingCollection, Zed.Apache.NMS.WCF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bindingExtensions>
</extensions>

</system.serviceModel>

最佳答案

我相信 VS2008 使用文件“C:\Program Files\Microsoft Visual Studio 9.0\xml\Schemas\DotNetConfig.xsd”(默认安装)来验证配置文件。您可以更改此文件或在配置文件的“属性”下指定另一个架构。

但是,只要您收到的只是设计时警告,就可能不值得这么麻烦。

关于WCF 自定义绑定(bind)/扩展导致 app.config 中的验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/492662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com