WCF Service app.config

本文关键字:config app Service WCF | 更新日期: 2023-09-27 18:27:42

我正在开发一个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>

谢谢,Omri。

WCF Service app.config

它是如何工作的?

仅使用主机应用程序的配置文件。

为什么WCF库项目(dll项目)包含app.config文件

如果它在类库中,我猜是VS模板添加了它

它的目的是什么?

当您在Visual Studio中使用F5运行WCF服务库时,WCF Service Host (WcfSvcHost.exe)可以使用它。