这组由Windows通讯基础(WCF)结合一组消息(客户端请求)服务实例所采用的技术被称为实例管理。一个完全由三种类型实例激活支持WCF,它们如下所述。

1.每个调用服务

每次调用服务是Windows通讯基础的默认实例激活模式。当一个WCF服务配置为每个调用服务,一个CLR对象是时间跨度客户调用或请求进行创建。 CLR代表公共语言运行库,并在WCF服务实例。

在每个调用服务,每一个客户端请求实现专用消耗相同的内存并且新的服务实例较少,相较于其他类型的实例激活。必需有InstanceContextMode属性,以指示WCF服务以充当每次调用服务被设置为InstanceContextMode.PerCall。InstanceContextMode属性属于ServiceBehavior属性。

因此,每调用服务可以被配置为

[ServiceContract]
interface IMyContract
{...}
[ServiceBehavior (InstanceContextMode = InstanceContextMode.PerCall)]
class MyService : IMyContract
{...}

服务在这里表示为IMyContract。

每次调用服务实例激活的过程可以描述如下图。

WCF入门(九)--WCF实例管理

实现每个调用服务

[DataContract]
  class Param {....}
  [ServiceContract]
  interface IMyContract
  {
     [OperationContract]
     void MyMethod(Param objectIdentifier);
  }
  class MyPerCallService : IMyContract, IDisposable
  {
     public void MyMethod(Param objectIdentifier)
     {
        GetState(objectIdentifier); 
        DoWork();
        SaveState(objectIdentifier);
     }
     void GetState(Param objectIdentifier) {....}
     void DoWork() {....}
     void SaveState(Param objectIdentifier) {....}
     public void Dispose() {....}
  }
View Code

相关文章:

  • 2021-09-24
  • 2021-09-29
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-25
  • 2022-12-23
  • 2021-06-14
  • 2022-02-26
  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
相关资源
相似解决方案