实现一个下面定义的会话状态管理器(ISessionManager<,>)。       public interface ISession<TKey>
        where TKey: IComparable<TKey>
    {
        /// <summary>
        /// 会话信息主键
        /// </summary>
        TKey Key { get; }        /// <summary>
        /// 最近活动时间
        /// </summary>
        DateTime RecentlyActivityTime { get; set; }
    }    /// <summary>
    /// 会话超时事件原型
    /// </summary>
    /// <typeparam name="TSession"></typeparam>
    /// <typeparam name="TKey"></typeparam>
    /// <param name="session">超时的会话</param>
    public delegate void SessionTimeoutHandler<TSession, TKey>(TSession session)
        where TSession : ISession<TKey> where TKey: IComparable<TKey>;    /// <summary>
    /// 会话管理器接口
    /// </summary>
    /// <typeparam name="TSession">用于存储会话状态的类型</typeparam>
    /// <typeparam name="TKey">用于索引会话状态的主键类型</typeparam>
    public interface ISessionManager<TSession, TKey>
        : IDisposable
        where TSession : ISession<TKey>
        where TKey: IComparable<TKey>
    {
        /// <summary>
        /// 当会话超时时触发
        /// </summary>
        event SessionTimeoutHandler<TSession, TKey> OnTimeout;        /// <summary>
        /// 添加会话
        /// </summary>
        /// <param name="session"></param>
        void Add(TSession session);        /// <summary>
        /// 删除指定会话
        /// </summary>
        /// <param name="key">要删除的会话的主键</param>
        /// <returns></returns>
        bool Remove(TKey key);        /// <summary>
        /// 更新指定会话的活动时间,以防止超时
        /// </summary>
        /// <param name="key">要更新的会话的主键</param>
        /// <returns></returns>
        bool KeepAlive(TKey key);        /// <summary>
        /// 查找管理器中是否存在指定会话
        /// </summary>
        /// <param name="key">要查找的的会话的主键</param>
        /// <returns></returns>
        bool Contains(TKey key);        /// <summary>
        /// 获取或设置会话超时时间长度
        /// </summary>
        TimeSpan Timeout { get; set; }        /// <summary>
        /// 获取所有会话
        /// </summary>
        IEnumerable<TSession> Sessions { get; }        /// <summary>
        /// 获取活动会话数量
        /// </summary>
        int Count { get; }
    }上面只是提供接口...要求实现接口