在编程中服务的作用越来越大了,.net从2.0的 webservice,到3.5之后的WCF,服务的功能越来越强了。现在先从简单的看起,先看看WCF服务的发布。
  现在来看看一步一步发布 WCF 服务。
   环境:
   系统:windows 7
   开发工具:visual studio 2010  .net 版本:4.0
一、新建一个WCF服务
1、“ 文件 → 新建 → 项目 → WCF 服务应用程序 ”;
2、建好后,手动增加几个类,如图:
  
   3、实现服务接口,创建序列化的数据类。
   本项目中:
[1] 服务接口:IService1.cs;
[2] 服务接口实现:Service1.svc;
[3] 序列化的数据类:CompositeType类;
注意CompositeType类中的 [DataContract]和[DataMember],网络传输数据类必须要序列化。还有就是IService1中的[ServiceContract]和[OperationContract],这都是标准模式,只有这样写远程客户端才能访问的到服务的方法。
二、发布
1、简单测试,直接 F5 运行,结果如下图:
  
2、点击Service1.svc,结果如下图:
  
  图中的http://localhost:51781/Service1.svc?wsdl 就是服务的url,可以直接在本地测试。
   创建一个客户端测试工程。
   需要“添加服务引用”,将这个url添加。这很简单就不用给图了。给这个引用的服务命名:LocalRunService,如图,
  
   调用:
//直接F5运行 //服务url:http://localhost:2303/Service1.svc?wsdl using (LocalRunService.Service1Client sclient = new LocalRunService.Service1Client()) { string data = sclient.GetData(2); Console.WriteLine(data); TestMyWCFClient.LocalRunService.Person p = sclient.GetDataUsingDataContract(); string pcontent = string.Format("ID:{0}{1}Name={2}", p.ID,Environment.NewLine, p.Name); Console.WriteLine(pcontent); Console.ReadLine(); }
  结果:
  
   2、正式发布
   (1)检查IIS的必要组件;
  (2)注册一下WCF组件。
   打开Visual Studio命令行提示工具(Start->所有程序->Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示, Windows7及以后的版本,需要以管理员身份打开).
[1] 运行” ServiceModelReg.exe –ia”;
  
[2] 运行”aspnet_regiis.exe -i”;
  
  
  
  
  
  
(3)发布:右键 → 发布
  
(4)跟部署网站一样部署在IIS服务器上;
(5)直接“ 右键 → 管理网站 → 浏览 ”,报错如下:
  
(6)原因未启用目录浏览,启用即可:
  
(7)正式发布成功。
  
原文:http://www.cnblogs.com/xinaixia/p/5758582.html