2013-08-15 11 views
9

Sto sviluppando un servizio WCF e sono un po 'confuso su dove consuma le sue configurazioni.Servizio WCF app.config

Ho un file app.config nella mia applicazione host (applicazione console) e nel mio progetto di servizio WCF (è venuto con il modello)

In fase di esecuzione posso vedere che le configurazioni di entrambi i file vengono utilizzati.

Come funziona? Perché il progetto della libreria WCF (un progetto dll) contiene un file app.config e qual è lo scopo?

posso davvero usare alcuni chiarimenti su questo ...

Aggiornamento

Questa è la configurazione di WCF dal mio app.config nell'applicazione host

<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> 

Questo è il mio Configurazione WCF dalla libreria di servizi 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> 

Grazie, Omri.

risposta

12

Come funziona?

Viene utilizzato solo il file di configurazione dell'applicazione host.

Perché il progetto di libreria WCF (un progetto dll) contiene un file app.config

Se si trova in una libreria di classi Credo che sia il modello VS che ha aggiunto di esso.

qual è lo scopo?

Può essere utilizzato dallo WCF Service Host (WcfSvcHost.exe) quando si esegue la libreria di servizi WCF con F5 in Visual Studio.

+0

L'ultima risposta è ciò che mi mancava, grazie! –