1

私のアイデアは、私たちのアプリで使用される内部オブジェクトのいくつかを含む独自の HttpContext を作成することでした。だから私は単に作成すると思った

public class FooHttpContextBase : HttpContextBase
{
    public string Foo
    {
        get { return "Boo"; }
    }
}

次に、HttpContext プロパティをオーバーライドします。

public abstract class BaseController : Controller
{
    private FooHttpContextBase context;

    public BaseController()
    {
        context = new FooHttpContextBase();
    }

    override public HttpContextBase HttpContext
    {
        get { return context; }
    }
}

しかし、HttpContext は仮想ではないことに気付きました。そのため、オーバーライドすることはできません。

さて、あなたは何を提案しますか?BaseController に新しいプロパティを追加しますか?

前もって感謝します!

4

1 に答える 1

-8

独自のコンテキストを共有するベース コントローラーに新しいプロパティを追加することをお勧めします。これは、作業を行うための最も簡単でエレガントかつ迅速な方法です。
IOC を使用している場合は、プロパティ インジェクションを行うことをお勧めします。詳細については、このリンクを参照してください。

于 2010-02-19T20:57:38.717 に答える