Welcome

首页 / 软件开发 / WCF / WCF示例(10) - 实例模型(InstanceContextMode)

WCF示例(10) - 实例模型(InstanceContextMode)2012-01-20 webabcd 介绍

WCF(Windows Communication Foundation) - 实例模型:

ServiceBehavior

·InstanceContextMode.PerCall - 新的 System.ServiceModel.InstanceContext 对象在每次调用前创建,在调用后回收。

·InstanceContextMode.PerSession - 为每个会话创建一个新的 System.ServiceModel.InstanceContext 对象。

·InstanceContextMode.Single - 只有一个 System.ServiceModel.InstanceContext 对象用于所有传入呼叫,并且在调用后不回收。如果服务对象不存在,则创建一个。

示例

1、服务

PerCallMode.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;  using System.ServiceModel;  namespace WCF.ServiceLib.InstanceMode{  /**//// <summary>  /// 演示实例模型的接口(PerCall)  /// </summary>  [ServiceContract]  public interface IPerCallMode  {    /**//// <summary>    /// 获取计数器结果    /// </summary>    /// <returns></returns>    [OperationContract]    int Counter();  }    /**//// <summary>  /// 演示实例模型的类(PerCall)  /// </summary>  /// <remarks>  /// InstanceContextMode - 获取或设置指示新服务对象何时创建的值。  /// InstanceContextMode.PerCall - 新的 System.ServiceModel.InstanceContext 对象在每次调用前创建,在调用后回收。  /// </remarks>  [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]  public class PerCallMode : IPerCallMode  {    private int _counter;      /**//// <summary>    /// 获取计数器结果    /// </summary>    /// <returns></returns>    public int Counter()    {      _counter++;        return _counter;    }  }}