已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/北大青鸟上地软件园:WCF三种Binding 转眼wcf技术已经出现很多年了,也在.net界混的风生水起,同时.net也是一个高度封装的框架,作为在wcf食物链最顶端的我们所能做的任务已经简单的不能再简单了,再简单的话马路上的大妈也能写wcf了,好了,wcf最基本的概念我们放在后面慢慢分析,下面我们来看看北大青鸟上地软件园神奇的3个binding如何KO我们实际场景中的80%的业务场景。一:basicHttpBinding作为入门第一篇,也就不深入谈谈basic中的信道栈中那些啥东西了,你只需要知道有ABC三个要素,注意不是姨妈巾哦,如果需要详细了解,可以观赏我以前的系列。在这里我就不多说了,太简单的东西没意思,先看个例子简单感受了,你只需知道的是basic走的是http协议就好了,传输消息为soap。1. 契约 1 using System.Runtime.Serialization; 2 using System.ServiceModel; 3 4 namespace MyService 5 6 ServiceContract 7 public interface IHomeService 8 9 OperationContract10 int GetLength(string name);11 12 2. 实现类 1 using System; 2 using System.Messaging; 3 using System.Threading; 4 5 namespace MyService 6 7 public class HomeService : IHomeService 8 9 public int GetLength(string name)10 11 return name.Length;12 13 14 3. 服务启动 1 using System; 2 using System.ServiceModel; 3 4 namespace MyService 5 6 class Program 7 8 static void Main(string args) 9 10 using (ServiceHost host = new ServiceHost(typeof(HomeService)11 12 try13 14 host.Open();15 16 Console.WriteLine(服务开启!);17 18 Console.Read();19 20 catch (Exception e)21 22 Console.WriteLine(e.Message);23 24 25 26 27 4. 配置config文件 5. 然后通过 servicehost 启动服务端using System;using System.ServiceModel;namespace MyService class Program static void Main(string args) using (ServiceHost host = new ServiceHost(typeof(HomeService) try host.Open(); Console.WriteLine(服务开启!); Console.Read(); catch (Exception e) Console.WriteLine(e.Message); 好了,到现在为止,服务端全部开启完毕,北大青鸟上地软件园接下来我们通过“添加服务引用”,来添加对客户端的引用 1 using System; 2 3 namespace ConsoleApplication1 4 5 class Program 6 7 static void Main(string args) 8 9 HomeServiceReference.HomeServiceClient client = new HomeServiceReference.HomeServiceClient();10 11 var s = client.GetLength(12345);12 13 Console.WriteLine(长度为:0, s);14 15 Console.Read();16 17 18 麻蛋,就这么简单,是的,就这样简单的五步,基于http的通信就这样被不小心的完成了,真不好意思。二:netTcpBinding有了basic的代码,现在我们要改成tcp通信,这会通信走的是字节流,很简单,改一下服务端的config文件就好了,大家也知道这种性能要比basic好。 三:netMsmqBindingmsmq这个玩意,我想大家都清楚,一个物理上的文件,好处呢,你也明白,就是client和service的所有通信都要经过它的手,这样任何一方出了问题,只要它在就没问题了。同样我们把tcp改成msmq也是非常简单的,不过要注意,msmqbinding中是不可以让契约方法有返回值的。所以我们加上isoneway就好了。using System.Runtime.Serialization;using System.ServiceModel;namespace MyService ServiceContract public interface IHomeService OperationContract(IsOneWay = true) void GetLength(string name); 然后我在mmc上新建一个消息队列,如下:然
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心内科常用药物知识课件
- 2026年中国智能控制系统行业市场发展模式调研报告
- 银行从业资格考试个人贷款模拟预测试卷及答案详解
- 2026年辽宁物流考试模拟题目及答案详解
- 2026年内急心理模拟题及答案详解
- 2026年高级包装模拟试卷(含答案)
- 自控根轨迹法习题及答案详解
- 银行从业资格银行业法律法规与综合能力模拟预测试卷及答案详解
- 2026年农机证考模拟题目及答案详解
- 2026年思科认证考试模拟题及答案详解
- GB/T 34630.1-2026搅拌摩擦焊铝及铝合金第1部分:术语及定义
- 2026及未来5年中国电力线载波抄表数据监测研究报告
- 《半导体制备装置用超高纯净不锈钢管》
- 2026语文新教材 第19课 航天员写给孩子的信 教学课件
- 深基坑安全管理培训课件
- 学院 升本 实施方案
- 超声波探伤培训教材
- T∕CPCPA 0017-2026 托育机构婴幼儿回应性照护服务规范
- 少儿脊柱健康课件
- JG/T 182-2008住宅轻钢装配式构件
- 2023年临夏市教育系统引进人才考试真题及答案
评论
0/150
提交评论