4
我有一個解決方案,它包含一個WCF服務,一個Windows服務(託管它)和一個WPF應用程序來使用它。我有一個「數據訪問DLL」,我正在引用該服務。當我搜索某個服務的解決方案時,它會查找並引用它,而且它也會爲其生成app.config文件。WPF應用程序不更新WCF服務的超時綁定信息
我遇到的問題是,綁定信息並非全部更新。我的服務配置了超時,這些超時未在本地app.config文件中生成/更新。我能夠通過手動添加它來解決它,並且它工作正常;但是,我希望能夠自動更新它們。
這是服務綁定的配置:
<bindings>
<netTcpBinding>
<binding name="StreamingBinding" receiveTimeout="00:15:00" sendTimeout="00:15:00"
transferMode="Streamed" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
這是當我引用服務正在產生什麼(注意它缺少超時(S)):
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_ITestService" transferMode="Streamed">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
有誰知道我在做什麼錯誤/失蹤?
預先感謝您!下面
每請求我對服務的app.config和客戶端的app.config:
服務:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" />
</system.web>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="StreamingBinding" receiveTimeout="00:15:00" sendTimeout="00:15:00"
transferMode="Streamed" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<services>
<service name="TestService.Wcf.TestServiceWcf">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="StreamingBinding"
contract="TestService.Wcf.ITestServiceWcf">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8525/TestServiceService" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
客戶:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_ITestServiceWcf" transferMode="Streamed">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://localhost:8525/TestServiceService"
binding="netTcpBinding" bindingConfiguration="NetTcpBinding_ITestServiceWcf"
contract="TestServiceService.ITestServiceWcf" name="NetTcpBinding_ITestServiceWcf">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
我更新了上面的信息以顯示完整的app.config文件。當我在同一個解決方案中引用服務時,客戶端自動生成一個 – spyter