首页 > 代码库 > C# WCF服务端搭建和客户端调用

C# WCF服务端搭建和客户端调用

1) 打开Visual Studio 2012,在菜单上点击文件—>新建—>项目—>WCF服务应用程序。在弹出界面的“名称”对应的文本框中输入“WcfServiceTest”,然后点击“确定”按钮。

如下图:

技术分享

2) 把Visual Studio 2012自动生成的两个文件IService1.cs改名为IService.cs接口类、Service1.cs改名为Service.cs实现类。

如下图:

技术分享

技术分享

3) 由于Visual Studio 2012默认生成的app.config中的配置信息是以IService来写的配置。

如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <compilation targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"  multipleSiteBindingsEnabled="true" />
    <behaviors>
      <endpointBehaviors>
        <behavior name="RestBehavior">
          <webHttp helpEnabled="true" defaultBodyStyle="Bare" defaultOutgoingResponseFormat="Json" />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IService" />
      </basicHttpBinding>
      <webHttpBinding>
        <binding name="webHttpBindingConfig" sendTimeout="00:00:40" bypassProxyOnLocal="false"
          maxReceivedMessageSize="652428800">
          <readerQuotas maxStringContentLength="65242880" maxArrayLength="65242880" />
        </binding>
      </webHttpBinding>
    </bindings>
    <services>
      <service name="WcfService.IService">
        <endpoint address="" behaviorConfiguration="RestBehavior" binding="webHttpBinding"
          bindingConfiguration="webHttpBindingConfig" contract="WcfService.IService">
          <identity>
            <dns value="Localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <standardEndpoints/>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--
        若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。
        在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。
      -->
    <directoryBrowse enabled="true"/>
  </system.webServer>

</configuration>

4) 右键WcfServiceTest项目选址[发布]。

如下图:

技术分享

5) 控制面板 - 管理工具 - Internet 信息服务(IIS)管理器 - 选址[网站]节点 添加网站。

如下图:

技术分享

6) 新建一个测试项目添加服务引用。

如下图:

技术分享

7) 服务接口调用如下。

            //1.ServiceClient sc = new ServiceClient();
            //2.ServiceClient sc = new ServiceClient("BasicHttpBinding_IService", "http://192.168.99.64:9999/WcfService.Service.svc");
            ServiceClient sc = new ServiceClient();
            string strRst = sc.GetData(100);



C# WCF服务端搭建和客户端调用