AspNetコアrc2
パッケージ:Microsoft.AspNetCore.Session
HttpContext.Session.SetString(key、value)エラー。
startUp.csにコードを追加しました。
public void ConfigureServices(IServiceCollection services) {{ //フレームワークサービスを追加します services.AddApplicationInsightsTelemetry(Configuration); services.AddAuthorization(); services.AddSession(options => {{ options.IdleTimeout = TimeSpan.FromDays(7); options.CookieName = ".FileSystem"; }); services.AddMvc(); }
public void Configure(IApplicationBuilderアプリ、IHostingEnvironment env、ILoggerFactory loggerFactory) {{ #領域 loggerFactory.AddConsole(Configuration.GetSection( "Logging")); loggerFactory.AddDebug(); app.UseApplicationInsightsRequestTelemetry(); if(env.IsDevelopment()) {{ app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } そうしないと {{ app.UseExceptionHandler( "/ Home / Error"); } app.UseApplicationInsightsExceptionTelemetry(); app.UseStaticFiles(); app.UseMvc(routes => {{ routers.MapRoute( 名前:「デフォルト」、 テンプレート: "{controller = Home} / {action = Index} / {id?}"); }); #endregion app.UseSession(); } }
**機能していません。 HttpContext.session.setString()
私はいくつかのブログを読みました:asp.netコアrc1。
ブログには、パッケージaspnet.sessionをインポートする必要があることが示されています。
しかし、このパッケージをインポートすると、パッケージはapp.UseSession()関数をサポートできません。
ヘルプ!aspNetコアRC2でセッションを使用するにはどうすればよいですか?
ミドルウェアは、コードに表示される順序でパイプラインに追加されます。 この場合、 UseSession
はUseMvc
後に表示されます。 したがって、Mvcが実行されるまでセットアップされません。 UseMvc
呼び出す前のある時点で追加します。 https://docs.asp.net/en/latest/fundamentals/middleware.html#creating -a-middleware-pipeline-with-iapplicationbuilderには、これがどのように機能するかについて非常に役立つ情報があります。
@pranavkmありがとうございます。
使い物にならない
最も参考になるコメント
ミドルウェアは、コードに表示される順序でパイプラインに追加されます。 この場合、
UseSession
はUseMvc
後に表示されます。 したがって、Mvcが実行されるまでセットアップされません。UseMvc
呼び出す前のある時点で追加します。 https://docs.asp.net/en/latest/fundamentals/middleware.html#creating -a-middleware-pipeline-with-iapplicationbuilderには、これがどのように機能するかについて非常に役立つ情報があります。