WCF实例停用基本应用技巧分享

WCF中有很多比较高深的应用技巧是值得我们在学习和实践的过程中去深入研究的。那么,今天我们就先从WCF实例停用开始了解,从而使我们对这一开发工具有一个更加深入的了解程度。#t#

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟空间、营销软件、网站建设、平和网站维护、网站推广。

WCF实例停用只针对会话服务而言。单例服务虽然也可以应用,但却无效。

“会话实际要做的不仅是关联客户端消息,同时还要关联托管了服务的上下文。启动会话时,宿主会创建一个新的上下文。会话终止时,上下文也随之而终止。默认情况下,上下文的生命周期与发布的服务实例的生命周期相同。然而,出于优化的目的,WCF为服务设计者提供了一个分离两种生命周期的选项,该选项允许WCF独立地停用实例,而不必依赖于它的上下文。实际上,WCF还允许不包含实例的上下文存在。”

这种实例管理技术称为上下文停用(Context Deactivation)。控制上下文停用的最常见办法是通过OperationBehavior特性的ReleaseInstanceMode属性:

 
 
 
  1. public enum ReleaseInstanceMode 
  2. None, BeforeCall, AfterCall, BeforeAndAfterCall, 
  3. [AttributeUsage(AttributeTargets.Method)] 
  4. public sealed class OperationBehaviorAttribute : Attribute,... 
  5. public ReleaseInstanceMode ReleaseInstanceMode 
  6. {
  7. get;set;
  8. }
  9.  //More members 

“通常,我们只需要将WCF实例停用应用到部分服务方法上,而不是全部方法;或者为不同的方法设置不同的值。”例如:

 
 
 
  1. class MyService : IMyContract,IDisposable 
  2. [OperationBehavior(ReleaseInstanceModeReleaseInstanceMode = 
    ReleaseInstanceMode.AfterCall)] 
  3. public void MyMethod( ) 
  4. {
  5. ...
  6. public void MyOtherMethod( ) 
  7. {
  8. ...
  9. public void Dispose( ) 
  10. {
  11. ...

以上就是对WCF实例停用的相关内容的介绍。

网页名称:WCF实例停用基本应用技巧分享
URL链接:http://www.stwzsj.com/qtweb/news44/5794.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联