当前位置:
首页 > 网站开发 > ASP.net 4.0教程 >
-
asp.net教程之WCF基础 WCF消息传递
WCF消息传递
通过了解了WCF的一些基本概念并创建和编写WCF应用中的相应方法,实现了WCF服务和客户端之间的调用,就能够理解WCF应用是如何进行通信的。了解了一些基本的WCF概念后,还需要深入了解WCF消息的概念。18.4.1 消息传递
客户端与服务器之间是通过消息进行信息通信的,通过使用消息,客户端和服务器之间能够通过使用消息交换来实现方法的调用和数据传递。1.Request/Reply消息传递模式
Request/Reply模式是默认的消息传递模式,该模式调用服务器的方法后需要等待服务的消息返回,从而获取服务器返回的值。Request/Reply模式是默认模式,在声明时无需添加其模式的声明,示例代码如下所示。
[OperationContract]
string GetShopInformation(string address); //默认模式
上述代码就使用了一个默认的Request/Reply模式进行消息传递,GetShopInformation方法同样需要实现,示例代码如下所示。
public string GetShopInformation(string address)
{
if (address == "武汉") //判断地址
{
return "武汉麦当劳连锁店"; //返回相应结果
}
else if (address == "北京") //判断地址
{
return "北京麦当劳连锁店"; //返回相应结果
}
else if (address == "上海") //判断地址
{
return "上海麦当劳连锁店"; //返回相应结果
}
else
{
return "没有该连锁店"; //返回默认结果
}
}
GetShopInformation方法返回一个string的值给客户端,客户端调用服务器的方法时,首先会向服务器发送消息,以告诉服务器客户端需要调用一个方法,当服务器接收消息后会返回消息给客户端。在这一段过程中,客户端会等待服务器端的相应,当客户端接受到服务器的相应后,则会呈现在客户端应用程序中。如图18-12所示。
图18-12 Request/Reply模式
2.One-way消息传递模式
One-way模式和Request/Reply模式不同的是,如果使用One-way模式定义一个方法,该方法被调用后会立即返回。使用One-way模式修饰的方法必须是void方法,如果该方法不是void修饰的方法或者包括out/ref等参数,则不能使用One-way模式进行修饰,示例代码如下所示。
[OperationContract(IsOneWay = true)] //标识One-way模式
void OutputString(); //定义方法
该方法使用了One-way模式,则不能有参数的输出,只允许void关键字修饰该方法,OutpuString方法的具体实现如下所示。
public void OutputString() //实现方法
{
Console.WriteLine("IsOneWay=true");
}
运行WCF应用后,执行OutpuString方法后结果如图18-13所示。
图18-13 One-way模式
WCF的消息传递模式不仅包括这两种模式,还包括duplex模式,duplex是WCF消息传递中比较复杂的一种模式,由于篇幅限制,本书不再进行详细的介绍。
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式