Aspnetcore: HttpContext.Session.SetString

Созданный на 17 июн. 2016  ·  3Комментарии  ·  Источник: dotnet/aspnetcore

AspNet core rc2
пакет: Microsoft.AspNetCore.Session

 Ошибка HttpContext.Session.SetString (ключ, значение).

Я добавил код в startUp.cs.

 public void ConfigureServices (службы IServiceCollection)
 {
 // Добавляем сервисы фреймворка
 services.AddApplicationInsightsTelemetry (Конфигурация);
 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 («Ведение журнала»));
 loggerFactory.AddDebug ();

 app.UseApplicationInsightsRequestTelemetry ();

 если (env.IsDevelopment ())
 {
 app.UseDeveloperExceptionPage ();
 app.UseBrowserLink ();
 }
 еще
 {
 app.UseExceptionHandler ("/ Главная / Ошибка");
 }

 app.UseApplicationInsightsExceptionTelemetry ();

 app.UseStaticFiles ();

 app.UseMvc (routes =>
 {
 маршруты.MapRoute (
 имя: "по умолчанию",
 шаблон: "{controller = Home} / {action = Index} / {id?}");
 });

 #endregion

 app.UseSession ();
 }
 }

** Не работает. HttpContext.session.setString ()

ошибка: сеанс не был настроен для этого приложения или запроса.

Я прочитал несколько блогов: asp.net core rc1.
В блогах показано, что я должен импортировать пакет: aspnet.session.
но когда я импортирую этот пакет, он не может поддерживать функцию app.UseSession ().

Справка! как использовать сеанс в aspNet core RC2

Самый полезный комментарий

Промежуточное ПО добавляется в конвейер в том порядке, в котором они появляются в вашем коде. В этом случае UseSession появляется после UseMvc ; следовательно, он не настраивается до тех пор, пока не будет выполнен Mvc. Добавьте его в какой-то момент перед вызовом в UseMvc . https://docs.asp.net/en/latest/fundamentals/middleware.html#creating -a-middleware-pipeline-with-iapplicationbuilder содержит довольно полезную информацию о том, как это работает.

Все 3 Комментарий

Промежуточное ПО добавляется в конвейер в том порядке, в котором они появляются в вашем коде. В этом случае UseSession появляется после UseMvc ; следовательно, он не настраивается до тех пор, пока не будет выполнен Mvc. Добавьте его в какой-то момент перед вызовом в UseMvc . https://docs.asp.net/en/latest/fundamentals/middleware.html#creating -a-middleware-pipeline-with-iapplicationbuilder содержит довольно полезную информацию о том, как это работает.

@pranavkm Большое спасибо.

бесполезный

Была ли эта страница полезной?
0 / 5 - 0 рейтинги