0
<system.serviceModel>
  <services>
    <service name="Coevery.Services.Document.DocumentService" 
             behaviorConfiguration="aaa">
      <endpoint address="" 
                binding="basicHttpBinding" 
                bindingConfiguration="documentbinding" 
                contract="Coevery.Services.Document.IDocumentService">
      </endpoint>
    </service>
  </services>
  <bindings>
    <basicHttpBinding>
      <binding maxBufferPoolSize="2147483647" 
               maxReceivedMessageSize="2147483647" 
               allowCookies="true">
        <security mode="None">
        </security>
        <readerQuotas maxArrayLength="2147483647" 
                      maxNameTableCharCount="2147483647"
                      maxStringContentLength="2147483647" 
                      maxDepth="2147483647" 
                      maxBytesPerRead="2147483647" />
      </binding>
      <binding name="documentbinding" 
               closeTimeout="04:01:00" 
               openTimeout="04:01:00" 
               receiveTimeout="04:10:00" 
               sendTimeout="04:01:00" 
               allowCookies="false" 
               bypassProxyOnLocal="false" 
               hostNameComparisonMode="StrongWildcard" 
               maxBufferSize="2147483647" 
               maxBufferPoolSize="2147483647" 
               maxReceivedMessageSize="2147483647" 
               messageEncoding="Mtom" 
               textEncoding="utf-8" 
               useDefaultWebProxy="true">
        <readerQuotas maxDepth="2147483647" 
                      maxStringContentLength="2147483647" 
                      maxArrayLength="2147483647" 
                      maxBytesPerRead="2147483647" 
                      maxNameTableCharCount="2147483647" />
      </binding>
    </basicHttpBinding>
  </bindings>
  <behaviors>
    <serviceBehaviors>
      <behavior name="aaa">
        <serviceSecurityAudit auditLogLocation="Application" 
                              serviceAuthorizationAuditLevel="Failure"
                              messageAuthenticationAuditLevel="Failure" 
                              suppressAuditFailure="true" />
        <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
        <serviceMetadata httpGetEnabled="true" />
        <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
        <serviceDebug includeExceptionDetailInFaults="true" />
        <serviceCredentials>
          <serviceCertificate findValue="WCfServer" 
                              storeLocation="LocalMachine" 
                              storeName="TrustedPeople"
                              x509FindType="FindBySubjectName"/>
        </serviceCredentials>
        <dataContractSerializer maxItemsInObjectGraph="2147483647" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="True" />
</system.serviceModel>

Behaviour name="aaa" の場合 => このサービスのメタデータ公開は現在無効になっています。でも名前がなくてもOK。

誰がそれの何が悪いのか知っていますか? 毎回wcfを使用すると迷子になります:D

4

1 に答える 1

1

これは WCF 4 の機能です。名前を省略すると、WCF サービスはそれをデフォルトの動作と見なします。http://msdn.microsoft.com/en-us/library/ee354381.aspxを参照してください。

WCF 3.x では、"behaviorConfiguration" 属性を介してサービスとエンドポイントに明示的に適用する名前付き動作構成を定義する必要があります。WCF 4 では、構成定義で名前を省略して、既定の動作構成を定義できます。これらの既定の動作を machine.config に追加すると、マシンでホストされているすべてのサービスまたはエンドポイントに適用されます。

于 2013-03-21T05:28:14.007 に答える