私は自分の継承したApp.Controller
をMvc.Controller
からすべてのコントローラに継承しています。私はインターフェイスを利用するプロバイダを書いてMyService
と実装し、コンストラクタはServer
というプロパティーをMvc.Controller
というHttpServerUtilityBase
としています。Mvc.Controllerでサーバーを使用
しかし、App.Controller
のコンストラクタでMyService
をインスタンス化します。問題は、MyService
を構築するときにコントローラのServer
プロパティがnull
であることです。私はpublic Controller() : base() { }
を使ってベースを構築しました。ただし、Server
は、null
のままです。
できるだけWeb.HttpContext.Current.Server
を避けたいと思います。
この問題を解決する方法はありますか?
編集:まあ、私はtvanfossonの提案を実施している、と私のアプリは、プロパティget
方法でMyService
を構築する場合、Server
はまだnullです。
編集2:わからない、私は馬鹿だった。私は別のController
を使用してServer
も使用していて、それを変更しませんでした。ケースが閉まった。
私はこの考えが好きです... –
またはコントローラーをオーバーライドします。初期化。適切なタイミングで起動します。 –
遅延初期設定の最良の部分は、プロパティが決してアクセスされないと起こらないことです。 – tvanfosson