MVC 3 フューチャー アセンブリで CookieTempDataProvider を使用しようとしています。ninjectを使用して正常に「配線」したと思います。以下は、私の app_start.cs ファイルのコードです。
[アセンブリ: WebActivator.PreApplicationStartMethod(typeof(Web.AppStart), "Start")] 名前空間 Web { public static class AppStart { public static void RegisterServices(IKernel カーネル) {
kernel.Bind<ITempDataProvider>().To<CookieTempDataProvider>();
}
public static void Start() {
// Create Ninject DI Kernel
// IKernel kernel = new StandardKernel();
IKernel kernel = Container;
// Register services with our Ninject DI Container
RegisterServices(kernel);
// Tell ASP.NET MVC 3 to use our Ninject DI Container
DependencyResolver.SetResolver(new NinjectServiceLocator(kernel));
}
static IKernel _container;
public static IKernel Container
{
get
{
if (_container == null)
_container = new StandardKernel();
return _container;
}
}
ただし、TempData を使用するページにアクセスすると、まだ SessionTempDataProvider を使用しようとしていることを示す次のエラーが表示されます。
「/」アプリケーションでサーバー エラーが発生しました。SessionStateTempDataProvider クラスでは、セッション状態を有効にする必要があります。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.InvalidOperationException: SessionStateTempDataProvider クラスでは、セッション状態を有効にする必要があります。
私は何かが欠けているに違いなく、それが何であるかを理解できません。どんな助けでも大歓迎です。
どうもありがとう