WCF初接触
来源:互联网 发布:南阳网络推广哪家专业 编辑:程序博客网 时间:2024/06/05 02:19
前言
今天杰哥给大家分享了一下WCF的知识,本来想上午最后一节课的时候提前查查资料,无奈临时要开个会,就搁置了,听了这么多次技术分享,有一个比较深的感受,一定要提前查资料,要不然听着听着就蒙了,没有共鸣
WCF是什么??
全称:Windows Communication Foundation 是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows通讯开发平台。
上边是百科里的第一句话,重点应该放在Coummnication上,WCF为信息的通信提供了平台。在项目中我负责的是评教的部分,是不添加WCF的框架,因为我不需要给别的模块提供服务,我只需要基础给我提供接口,以便访问一些基础的数据,这是我对WCF最原始的理解,在暑假的时候,因为框架没有WCF的部分,所以也没有认真的研究,这次趁着杰哥的技术分享,好好的研究一下WCF到底是什么。
话不多说,先做一个简单的小DEMO
参考(东邪孤独的WCF专栏的第一篇)
1.建立两个控制台程序
2.点击资源管理器——属性——设置启动项目为当前选定内容
3.选中Server项目,“引用”右击——添加引用
4.服务端代码
添加所需要的命名空间
using System.ServiceModel; //添加引用using System.ServiceModel.Description;
定义一个服务协定,其中包含一个TestMethod方法,服务协定是一个接口
[ServiceContract] public interface IService //服务协定是一个接口 { [OperationContract]//添加Operationcontract特性,作为服务操作,如果不添加,就不想客户端公开该方法 string TestMethod(); }
public class MyService : IService { public string TestMethod() { return "呵呵,成功啦!"; } }
在Main入口定义服务器相关参数,并启动服务
static void Main(string[] args) { Uri baseURI=new Uri("http://localhost:8008/Service"); using (ServiceHost host = new ServiceHost(typeof(MyService), baseURI)) { //向服务器添加中街店 WSHttpBinding binding = new WSHttpBinding(); //这里不需要安全验证 binding.Security.Mode = SecurityMode.None; host.AddServiceEndpoint(typeof(IService), binding, "my"); //为了能让VS生成客户端代码,即WSDL文档,故要添加一下行为 ServiceMetadataBehavior mdBehavior = new ServiceMetadataBehavior() { HttpGetEnabled = true }; host.Description.Behaviors.Add(mdBehavior); //如果服务顺利启动,则提示,处理Opened事件 host.Opened += (sender, e) => Console.WriteLine("服务已启动"); //启动服务器 try { host.Open(); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadKey(); //关闭服务器 host.Close(); }
5.完成服务端,运行一下,如果成功,则如图显示的样子
6.接下来,找到Server所在的\bin\debug目录中的Server.exe,运行,确保服务成功启动
选定Client项目,“引用”——添加服务引用
7.客户端代码
static void Main(string[] args) { ServiceReference1.ServiceClient client = new ServiceReference1.ServiceClient(); Console.WriteLine(client.TestMethod()); Console.ReadKey(); }
写在后边
小例子虽小,但是也有很多不明白的地方,但是对于WCF也有了进一步的了解,知道了如果通过WCF提供服务,下一篇总结知识点
- WCF初接触
- WCF初接触实作(一)
- WCF初接触实作——使用配置文件(二
- WCF初接触实作——服务的发布和使用(三)
- PHP与WCF第一次亲密接触
- 01初次接触WCF——面向服务
- 初接触Tomcat
- .Net Assembly初接触
- 消息初接触
- Webwork2初接触
- 消息初接触
- python初接触
- PHP初接触
- buffalo初接触
- Web Services 初接触
- Web Services 初接触
- 工作流初接触
- Appfuse初接触
- 【学习笔记之Openlayers3】初次接触openlayers3(第一篇)
- 【数据结构】图Graph的邻接矩阵,邻接表及深度、广度遍历
- CentOS7.2系统Hadoop集群部署
- char溢出计算
- 蓝牙Android
- WCF初接触
- Servlet开发步骤二
- php文件下载的一些浅谈
- __attribute__ 之weak,alias属性 .
- 【MongoDb入门】基础入门
- 记android学习之路----ContentProvider
- xxx
- win32强化练习4.8_TreeView快速应用(处理消息)
- Eclipse for php-- git commit问题