我在WCF Web服务中有此配置:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" closeTimeout="00:03:00" openTimeout="00:03:00" receiveTimeout="00:03:00" sendTimeout="00:03:00">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="200000" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://webserver/myService.svc" binding="basicHttpBinding" contract="IService" name="IService" />
<endpoint address="http://webserver/myService1.svc" binding="basicHttpBinding" contract="Documents.IDocService" name="Documents.IDocService" />
</client>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<protocolMapping>
<add scheme="http" binding="basicHttpBinding" />
</protocolMapping>
</system.serviceModel>
我在跟踪文件(诊断 svclog)中收到以下警告。
配置系统检测到不同类别中的重复密钥 配置范围,并使用较新的值覆盖。
它指向以下行:
<protocolMapping>
<add scheme="http" binding="basicHttpBinding" />
</protocolMapping>
我看不出有什么可以复制的。你能给我一个提示吗?
发生这种情况是因为您有另一个配置部分定义此协议映射的行为。在协议映射中使用<clear/>
标记将删除第一个配置。这适用于所有相同的冲突,也出现在连接字符串中。当您从另一个应用程序调用一个服务时,上层配置可能会覆盖第二个服务中的某些行为......
如果添加清除,则删除重复项:
<protocolMapping>
<clear/>
<add scheme="http" binding="basicHttpBinding" />
</protocolMapping>
喜欢这个。