为什么c#服务引用向导会生成重复的配置代码?

本文关键字:配置 代码 服务 引用 向导 为什么 | 更新日期: 2023-09-27 18:02:14

如果我在引用web服务之后查看app.config的输出,使用visual 2010服务引用向导,这是我在app.config的basicHttpBinding节点中得到的结果:

        <basicHttpBinding>
            <binding name="FirmNameServiceSOAPServiceSoapBinding" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="Transport">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                </security>
            </binding>
            <binding name="FirmNameServiceSOAPServiceSoapBinding1" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="None">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                </security>
            </binding>
        </basicHttpBinding>

节点binding name="FirmNameServiceSOAPServiceSoapBinding"binding name="FirmNameServiceSOAPServiceSoapBinding1"刚好完全重复。

你知道原因吗?有什么帮助吗?

为什么c#服务引用向导会生成重复的配置代码?

我简单地注释了第二个<Binding>节点。然后,它仍然可以正确地构建和执行。

我认为这是一个MS Visual 2010的错误,它污染了应用程序的配置文件。这在试图理解发生了什么时没有帮助。

我的预感是您的服务暴露了多个BasicHttpBindings。我会检查你的服务配置。

您可以看到在类似路径下找到的WcfTestClient发生了什么:

C:'Program Files (x86)'Microsoft Visual Studio 10.0'Common7'IDE'WcfTestClient.exe