在编程中服务的作用越来越大了,.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();
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)正式发布成功。

  

WCF 之 初识WCF的更多相关文章

  1. WCF编程系列(一)初识WCF

    WCF编程系列(一)初识WCF   Windows Communication Foundation(WCF)是微软为构建面向服务的应用程序所提供的统一编程模型.WCF的基本概念:  地址:定义服务的 ...

  2. 我们一起学习WCF 第一篇初识WCF(附源码供对照学习)

    前言:去年由于工作需要我学习了wcf的相关知识,初期对wcf的作用以及为何用怎么样都是一知半解,也许现在也不是非常的清晰.但是通过项目对wcf的运用在脑海里面也算有了初步的模型.今天我就把我从开始wc ...

  3. WCF系列教程之初识WCF

    本随笔参考自WCF编程系列(一)初识WCF,纯属读书笔记,加深记忆. 1.简介:Windows Communication Foundation(WCF)是微软为构建面向服务的应用程序所提供的统一编程 ...

  4. WCF(一):初识WCF

    目录: 一.什么是WCF 二.WCF能做什么 三.WCF的模型 四.WCF的基本概念 五.WCF的快速创建 1.WCF是什么 A.WindowsCommunication Foundation(WCF ...

  5. 初识WCF之使用配置文件部署WCF应用程序

    二月份的开头,小编依旧继续着项目开发之路,开始接触全新的知识,EF,WCF,MVC等,今天小编来简单的总结一下有关于WCF的基础知识,学习之前,小编自己给自己提了两个问题,WCF是什么?WCF能用来做 ...

  6. [WCF编程]1.WCF入门示例

    一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...

  7. WCF服务与WCF数据服务的区别

    问: Hi, I am newbie to wcf programming and a little bit confused between WCF Service and WCF Data  Se ...

  8. 大比速:remoting、WCF(http)、WCF(tcp)、WCF(RESTful)、asp.net core(RESTful)

    近来在考虑一个服务选型,dotnet提供了众多的远程服务形式.在只考虑dotnet到dotnet的情形下,我们可以选择remoting.WCF(http).WCF(tcp).WCF(RESTful). ...

  9. 大比速:remoting、WCF(http)、WCF(tcp)、WCF(RESTful)、asp.net core(RESTful) .net core 控制台程序使用依赖注入(Autofac)

    大比速:remoting.WCF(http).WCF(tcp).WCF(RESTful).asp.net core(RESTful) 近来在考虑一个服务选型,dotnet提供了众多的远程服务形式.在只 ...

随机推荐

  1. Codeforces 补题记录

    首先总结一下前段时间遇到过的一些有意思的题. Round #474 (Div. 1 + Div. 2, combined)   Problem G 其实关键就是n这个数在排列中的位置. 这样对于一个排 ...

  2. 洛谷P3690 [模板] Link Cut Tree [LCT]

    题目传送门 Link Cut Tree 题目背景 动态树 题目描述 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号. 0:后接两个整数(x,y),代 ...

  3. 关于sql查询语句中的别名

    sql语句中给子查询或其他查询类型加别名的时候可能会报错 java.sql.SQLException: 无法转换为内部表示 原因是select返回类型的实体类中没有写该别名 原来的实体类 更改后的实体 ...

  4. [BZOJ1860][ZJOI2006]Mahjong(DP)

    1860: [Zjoi2006]Mahjong麻将 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 412  Solved: 248[Submit][Sta ...

  5. ARC-100 E - Or Plus Max

    题面在这里! 我们如果可以求出 f[x] = max{ a[i] + a[j] , i!=j && i or j == x},那么就可以通过前缀max直接递推答案了. 但是这个玩意不是 ...

  6. Bootstrap-table固定表头并解决表头与内容不对齐

    写在前面: 之前在做表格的时候,一直忽略了表格的height高度,导致表格的的表头不能固定,这个样子当表格数据过多的时候,导致无法分辨表头是什么,所以决定固定表头. 固定表头需要使用height这一属 ...

  7. Tomcat上java.lang.IllegalStateException: Optional int parameter 'id' is not present

    今日, 本人在tomcat+spring mvc平台的服务器上遇到java.lang.IllegalStateException: Optional int parameter 'id' is not ...

  8. Problem D: 判断上否上三角矩阵

    #include<stdio.h> int main() { ][],i,j; while(scanf("%d",&n)!=EOF) { ; //flag用来做 ...

  9. php-scandir()报错

    l       linux下 vim /usr/local/php/etc/php.in l       直接斜杠找 /disable_functions   回车 l       按i键 l     ...

  10. [HTML/CSS]说说position

    目录 语法 作用 使用定位的条件 总结 语法 position : static absolute relative(static.absolute.relative常用值). 参数 static : ...