. Net Web服务使用Web配置设置硬编码网络TCP

本文关键字:Web 编码 TCP 设置 网络 配置 服务 Net | 更新日期: 2023-09-27 18:18:28

我想确认一件事。

下面是我如何在ASP中调用我的WCF web服务。网络应用程序。

var xml = "my xml string";
var ep = new EndpointAddress("http://myendpoint");
xml = new Proxy.ServiceClient(new NetTcpBinding(), ep).getNewXML(new Proxy.CallContext(), xml);

我的web配置如下所示。我的问题是,即使这些设置在web配置中,我上面的调用每次都刷新一个服务客户端和新的TCP绑定,这一事实告诉我这些设置没有被引用。基于以上,这是正确的吗?

 <system.serviceModel>
  <bindings>
   <netTcpBinding>
    <binding name="NetTcpBinding_SCSService" closeTimeout="00:01:00"
     openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
     transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
     hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288"
     maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536">
     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
      maxBytesPerRead="4096" maxNameTableCharCount="16384" />
     <reliableSession ordered="true" inactivityTimeout="00:10:00"
      enabled="false" />
     <security mode="Transport">
      <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
      <message clientCredentialType="Windows" />
     </security>
    </binding>
   </netTcpBinding>
  </bindings>
  <client>
   <endpoint address="net.tcp://myendpoint"
    binding="netTcpBinding" bindingConfiguration="NetTcpBinding_SCSService"
    contract="Proxy.Service" name="NetTcpBinding_SCSService">
    <identity>
     <userPrincipalName value="user@user.com" />
    </identity>
   </endpoint>
  </client>
 </system.serviceModel>

. Net Web服务使用Web配置设置硬编码网络TCP

正确。在这种情况下,您没有使用配置文件中找到的配置设置。

代理通常派生自抽象类ClientBase<T>,它提供了几种不同的方法来创建客户端代理的实例。列出的一些构造函数将使用所有配置文件,而其他构造函数将尝试使用配置文件来填充构造函数中未显式提供的信息。甚至存在根本不使用配置文件的构造函数重载,ClientBase<TChannel>(Binding, EndpointAddress)就是其中之一。

如果您想使用应用程序配置文件中的内容,您可以使用:

var client = new Proxy.ServiceClient("NetTcpBinding_SCSService");