wcf并发模式与实例模式(wcf大量数据缓存)

技术WCF缓存机制怎么理解这篇文章主要讲解了“WCF缓存机制怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF缓存机制怎么理解”吧!缓存是很占内存的,缓存也有它

本文主要讲解“如何理解WCF缓存机制”。本文的解释简单明了,易学易懂。请跟随边肖的思路一起学习学习《如何理解WCF缓存机制》!

缓存占用大量内存,缓存也有它的优点。在这里,我们将分析一个WCF缓存机制的案例,希望你能从中有所收获。让我们首先看看MSDN WCF会话的描述:它们由调用应用程序显式启动和终止。会话期间传递的消息将按照接收的顺序进行处理。对话将一组消息相互关联以形成对话。联想的意义是抽象的。

例如,基于会话的信道可以根据共享网络连接关联消息,而另一个基于会话的信道可以根据消息体中的共享标签关联消息。可以从会话中导出的函数取决于关联的性质。没有与WCF会话关联的常规数据存储。* * *告诉我们,WCF的Session不能像Web应用程序一样存储附加信息。经过研究,我们可以扩展MessageHeader来实现一个额外的数据存储区,每次客户端请求服务时都会发送到服务器端。实现如下(以前面提到的需求为例)。

这是一个单独的班级。客户端正常登录并获得服务器返回的用户标识实例后,可以通过以下代码将其存储在WCF缓存中:

UserPermissionInfo。GetInstance()。setuser identity(server returnedseridentity);ServerReturnedUserIdentity是服务器生成并返回的用户标识。接下来,我们扩展MessageHeader来添加我们自己定义的用户标识。WCF缓存代码如下:

使用系统;使用System。集合。通用;使用System。文字;使用System。ServiceModel使用System。ServiceProcess使用System。ServiceModel . Dispatcher使用System。服务模型。描述;使用System。服务模式。渠道;使用System。服务模型。配置;namespaconcommon . client helper { public classbnclientmessageinspector : I clientmessageinspector { I clientmessageinspector }成员regionIClientMessageInspector的成员,public ovoidaferreceiverly(RefmessageReply,object correlation State){ } public objectbeforesendrequest(RefmessageRequest,IClientChannelchannel){ MessageHeader me=MessageHeader。CreateHeader('UserIdentity ',' UINS ',BNIIClientLayerPlus。UserPermissionInfo . GetInstance()。_ user identity);请求。标题.添加(MH);returnnull}#endregion}}

此类实现了IClientMessageInspector接口,该接口可以控制客户端的行为,以处理从客户端到服务器的每个请求前后发送和接收的数据。现在我们需要实现行为扩展元素,iendpointBehavior会将刚刚创建的行为添加到Client行为集合中,代码如下:

使用系统;使用系统.集合。通用;使用系统.文字;使用系统.ServiceModel使用系统.ServiceProcess使用系统.ServiceModel。分配器使用系统.服务模型。描述;使用系统.服务模式。渠道;使用系统.服务模型。配置;namespaceBNCommon .客户端助手{ public class bnclientendpointbehavior :行为扩展元素,IEndpointBehavior { IEndpointBehavior成员#regionIEndpointBehavior成员public void addbinding参数(service endpointendpointendpoint,binding parameter collection binding parameters){ } public void applyclientbehavior(service endpointendpoint,ClientRuntimeclientRuntime){ clientRuntime .信息检查员。add(new nclientmessageinspector());} public votiapplydispatchbehavior(Serviceendpointendpointendpoint,endpointdispatcherndpointdispatcher){ } public votivalidate(Serviceendpointendpoint){ return;} # endregionpublicationverridetypecoctype { get.{ return type of(BNClientEndpointBehavior);} } protectedoverrideobjectCreateBehavior(){ returnnew nclientendpointbehavior();}}}感谢各位的阅读,以上就是“WCF缓存机制怎么理解"的内容了,经过本文的学习后,相信大家对WCF缓存机制怎么理解这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/146003.html

(0)

相关推荐

  • 苹果手,苹果手音乐没声音怎么办

    技术苹果手,苹果手音乐没声音怎么办一)检查静音键
    1、在苹果手机正面左侧上有一个静音键苹果手,可以控制当前手机铃声。当发现手机没有提示声音时,请先检测是否打开了静音功能。
    (二)重新启动手机
    1、请长按苹果手机顶部的“电

    生活 2021年10月25日
  • 日志删除脚本怎么写

    技术日志删除脚本怎么写这篇文章主要介绍了日志删除脚本怎么写,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#!/bin/bashfunction clear

    攻略 2021年11月9日
  • 如何分析python中有序可变的数据集合List

    技术如何分析python中有序可变的数据集合List如何分析python中有序可变的数据集合List,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。列表是一个

    攻略 2021年12月4日
  • 一元硬币的厚度,一角,五角,一元硬币各重多少克

    技术一元硬币的厚度,一角,五角,一元硬币各重多少克1角硬币:材质为铝合金,厚度1.67毫米,直径19毫米,重量1.15克.5角硬币:材质为钢芯镀铜合金,直径20.5毫米,厚度1.65毫米,重量3.80克.1元硬币:材质为

    生活 2021年10月25日
  • 在html5中头部包含哪个元素结构(html5头部内容通常包括哪个元素)

    技术html5头部内容通常包括什么内容这篇文章主要介绍html5头部内容通常包括什么内容,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! html5头部内容通常包括:1、

    攻略 2021年12月17日
  • LOCK中如何实现模拟锁等待现象

    技术LOCK中如何实现模拟锁等待现象这篇文章主要介绍了LOCK中如何实现模拟锁等待现象,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.模拟“锁等待”现象

    攻略 2021年11月11日