1.创建一个空白的解决方案.
一个简单的WCF程序创建过程
2.创建服务主机
  创建WEB宿主做服务主机,用来侦听客户端提交的请求,并创建用于处理那些请求的服务类的实例.
一个简单的WCF程序创建过程
<1>代码掩藏文件方式的服务类.
   创建成功后如下图所示意.
一个简单的WCF程序创建过程
App_Code下含有一个带事例代码的Service.cs文件.(本过程直接采用现有代码).Service.svc文件相当于WebService.asmx(本过程此处不做修改).Web.config中添加一行
1一个简单的WCF程序创建过程<serviceMetadata httpGetEnabled="true"/>
完整的Web.config文件内容如下.
 1一个简单的WCF程序创建过程<?xml version="1.0"?>
 2一个简单的WCF程序创建过程<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
 3一个简单的WCF程序创建过程  <system.serviceModel>
 4一个简单的WCF程序创建过程    <services>
 5一个简单的WCF程序创建过程      <!-- Before deployment, you should remove the returnFaults behavior configuration to avoid disclosing information in exception messages -->
 6一个简单的WCF程序创建过程      <service name="WCFServiceLibrary.service1" behaviorConfiguration="returnFaults">
 7一个简单的WCF程序创建过程                <endpoint contract="WCFServiceLibrary.IService1" binding="wsHttpBinding"/>
 8一个简单的WCF程序创建过程      </service>
 9一个简单的WCF程序创建过程    </services>
10一个简单的WCF程序创建过程    <behaviors>
11一个简单的WCF程序创建过程      <serviceBehaviors>
12一个简单的WCF程序创建过程        <behavior name="returnFaults" >
13一个简单的WCF程序创建过程          <serviceDebug includeExceptionDetailInFaults="true" />
14一个简单的WCF程序创建过程          <serviceMetadata httpGetEnabled="true" />
15一个简单的WCF程序创建过程        </behavior>
16一个简单的WCF程序创建过程      </serviceBehaviors>
17一个简单的WCF程序创建过程    </behaviors>
18一个简单的WCF程序创建过程  </system.serviceModel>
19一个简单的WCF程序创建过程  <system.web>
20一个简单的WCF程序创建过程    <compilation debug="true"/>
21一个简单的WCF程序创建过程  </system.web>
22一个简单的WCF程序创建过程</configuration>

<2>引用预编译程序集的服务类.
一个简单的WCF程序创建过程
添加对服务类的引用.
一个简单的WCF程序创建过程
一个简单的WCF程序创建过程

采用此种方式,可以删除App_Code下的Service.cs文件.修改Service.svc文件内容如下:

1一个简单的WCF程序创建过程<% @ServiceHost Language=C# Debug="true" Service="WCFServiceLibrary.service1" %>

同时Web.confing同步修改如下:

 1一个简单的WCF程序创建过程<?xml version="1.0"?>
 2一个简单的WCF程序创建过程<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
 3一个简单的WCF程序创建过程    <system.serviceModel>
 4一个简单的WCF程序创建过程        <services>
 5一个简单的WCF程序创建过程            <!-- Before deployment, you should remove the returnFaults behavior configuration to avoid disclosing information in exception messages -->
 6一个简单的WCF程序创建过程            <service name="WCFServiceLibrary.service1" behaviorConfiguration="returnFaults">
 7一个简单的WCF程序创建过程                <endpoint contract="WCFServiceLibrary.IService1" binding="wsHttpBinding"/>
 8一个简单的WCF程序创建过程            </service>
 9一个简单的WCF程序创建过程        </services>
10一个简单的WCF程序创建过程        <behaviors>
11一个简单的WCF程序创建过程            <serviceBehaviors>
12一个简单的WCF程序创建过程                <behavior name="returnFaults">
13一个简单的WCF程序创建过程                    <serviceDebug includeExceptionDetailInFaults="true"/>
14一个简单的WCF程序创建过程                    <serviceMetadata httpGetEnabled="true"/>
15一个简单的WCF程序创建过程                </behavior>
16一个简单的WCF程序创建过程            </serviceBehaviors>
17一个简单的WCF程序创建过程        </behaviors>
18一个简单的WCF程序创建过程    </system.serviceModel>
19一个简单的WCF程序创建过程    <system.web>
20一个简单的WCF程序创建过程        <compilation debug="true">
21一个简单的WCF程序创建过程            <assemblies>
22一个简单的WCF程序创建过程                <add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
23一个简单的WCF程序创建过程                <add assembly="Microsoft.Transactions.Bridge, Version=3.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
24一个简单的WCF程序创建过程                <add assembly="SMDiagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
25一个简单的WCF程序创建过程                <add assembly="System.IdentityModel.Selectors, Version=3.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
26一个简单的WCF程序创建过程                <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
27一个简单的WCF程序创建过程                <add assembly="System.Web.RegularExpressions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
28一个简单的WCF程序创建过程                <add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
29一个简单的WCF程序创建过程                <add assembly="System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
30一个简单的WCF程序创建过程                <add assembly="System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
31一个简单的WCF程序创建过程    </system.web>
32一个简单的WCF程序创建过程</configuration>

3.客户端配置和实现.
 创建控制台程序作为测试客户端程序.
 一个简单的WCF程序创建过程
 添加服务引用后如下.
 一个简单的WCF程序创建过程
客户端做简单的如下编程.

 1一个简单的WCF程序创建过程using System;
 2一个简单的WCF程序创建过程using System.Collections.Generic;
 3一个简单的WCF程序创建过程using System.Text; 
 4一个简单的WCF程序创建过程
 5一个简单的WCF程序创建过程namespace WCFCon
 6}
运行结果输出如下.
一个简单的WCF程序创建过程
至此,一个简单的WCF创建演示过程结束.其它详细请参阅MSDN.

相关文章:

  • 2021-08-26
  • 2021-10-15
  • 2021-10-25
  • 2021-11-20
猜你喜欢
  • 2021-11-15
  • 2022-12-23
  • 2021-07-06
相关资源
相似解决方案