私はリポジトリパターンを使用するMVCプロジェクトを持っています。私はまた、IOCコンテナにNinjectを使用しています。私は問題が発生しているが、プロジェクトがロードされたときにキャッシュされた値を保存することになります。IOCデータアクセスで静的メソッドを使用する
私が持っている私のGlobal.asax.csで:
...(some settings)
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
....
...CustomDataCache.Configure();
と私ControllerFactoryに私は私が必要なバインディングを持っている:
_ninjectKernal.Bind<IDataContext>().To<DataContext>()
.WithConstructorArgument("appNamekey", "Name of Data Application")
.WithConstructorArgument("serverLocationNameKey", "Location of Application Server");
と私のCustomCacheクラスで私のような何かをしたいです:
グローバルからConfigure()を静的に呼び出すとしますが、必要なときにどのようにしますかDataContextのインスタンス?
おかげで、
何を達成したい、そしてなぜか...「私は設定を()静的呼び出したい」説明してくださいにアクセスする必要がありますか? 'Configure'を静的メソッドにしたいので、インスタンスなしで呼び出すことができますか?その場合、Global.asaxはあなたのコンテキストを設定するために間違った方法だと思われます。コンテキストも静的でなければならないので、静的な値はすべてのユーザーで共有されます。すべてのユーザーに対して、すべての要求に対してコンテキストを上書きします。それは間違っているか無駄だと思われます。そして、その場合、あなたは静的に** IOC **を使うことのメリットはありません。 –