補足

(これの補足)

SessionStateAdapter クラスはこの記事のやつ (「ここからが、肝心の〜」以降の話は、あんま関係ない)。
IView インターフェイスは、なんもメンバーを持たない、単なるマーカーインターフェイス
Controller クラスは今んトコこんなの。

/// <summary>
/// MVC コントローラの基本抽象クラスです。
/// </summary>
/// <typeparam name="TView">関連する MVC ビュー。</typeparam>
[Serializable]
public abstract class Controller<TView>
    where TView : IView
{
    #region Fields

    /// <summary>
    /// 関連する MVC ビューを取得または設定します。
    /// </summary>
    [NonSerialized]
    private TView _view;

    #endregion

    #region Properties

    /// <summary>
    /// 関連する MVC ビューを取得します。
    /// </summary>
    public TView View
    {
        get
        {
            return this._view;
        }
    }

    #endregion

    #region Constructors

    /// <summary>
    /// Controller&lt;TView> クラスの新しいインスタンスを初期化します。
    /// </summary>
    public Controller()
    {
        this._view = default(TView);
    }

    #endregion

    #region Methods

    /// <summary>
    /// 関連する MVC ビューを設定します。
    /// </summary>
    /// <param name="view">関連する MVC ビュー。</param>
    public void SetView(TView view)
    {
        this._view = view;
    }

    #endregion
}