我正在开发一个 WCF 服务,我对它在哪里使用它的配置有点困惑。
我的主机应用程序(控制台应用程序)和我的 WCF 服务项目(随模板一起提供)中有一个 app.config 文件
在运行时,我可以看到两个文件中的配置都被使用了。
它是如何工作的?为什么 WCF 库项目(一个 dll 项目)包含一个 app.config 文件,它的用途是什么?
我真的可以对此进行一些澄清......
更新
这是主机应用程序中我的 app.config 中的 WCF 配置
<system.serviceModel>
<!-- services -->
<services>
<service name="Services.CalcService">
<endpoint address="net.tcp://localhost:8412/MyCalcService"
binding="netTcpBinding"
bindingConfiguration="MyNetTcpBinding"
contract="Contracts.ICalc"/>
</service>
</services>
<!-- bindings -->
<bindings>
<netTcpBinding>
<binding name="MyNetTcpBinding"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
transactionFlow="false"
transferMode="Streamed"
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" />
</security>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
这是我的 WCF 服务库中的 WCF 配置
<system.serviceModel>
<services>
<service name="Services.CalcService">
<endpoint address="" binding="basicHttpBinding" contract="Contracts.ICalc">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8733/Design_Time_Addresses/Services/CalcService/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
谢谢,暗里。