WCF web.config 一般配置


新建一個DeskTopService的Wcf服務

web.config配置如下:(測試可以用)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="TestConnectionString" connectionString="Data Source=.;Database=test;Uid=test;Pwd=test;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <services>
      <service behaviorConfiguration="DeskTopService.DeskTopServiceBehavior" name="DeskTopService.DeskTopService">
        <endpoint address="" binding="basicHttpBinding" contract="DeskTopService.IDeskTopService" />
        <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="DeskTopService.DeskTopServiceBehavior">
          <!-- 為避免泄漏元數據信息,請在部署前將以下值設置為 false 並刪除上面的元數據終結點 -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- 要接收故障異常詳細信息以進行調試,請將以下值設置為 true。在部署前設置為 false 以避免泄漏異常信息 -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
</configuration>

客戶端 添加服務應用的Wcf地址 如:http://desktopservice.xxxxxx.com/DeskTopService.svc (最好是配置在IIS中,方便測試調用)

客戶端web.config配置示例:(這里我只貼上 ServiceModel 節點,實際上也只需要配置這個節點)

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="basicBinding" maxReceivedMessageSize="6553600">
          <readerQuotas maxStringContentLength="6553600" />
        </binding>
        <binding name="BasicHttpBinding_IDeskTopService" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
          useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
      <netTcpBinding>
        <binding name="netTcpBinding" maxReceivedMessageSize="6553600">
          <readerQuotas maxStringContentLength="6553600" />
        </binding>
      </netTcpBinding>
    </bindings>
    <client>
      <endpoint address="http://desktopservice.xxxxxx.com/DeskTopService.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDeskTopService"
        contract="DeskTopService.IDeskTopService" name="BasicHttpBinding_IDeskTopService" />
    </client>
  </system.serviceModel>

然后就可以在客戶端進行引用了

class Test
{
    static void Main()
    {
        DeskTopServiceClient client = new DeskTopServiceClient();

        // 使用 "client" 變量在服務上調用操作。

        // 始終關閉客戶端。
        client.Close();
    }
}

完成!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM