Aspnetcore: HttpContext.Session.SetString

Criado em 17 jun. 2016  ·  3Comentários  ·  Fonte: dotnet/aspnetcore

AspNet core rc2
pacote: Microsoft.AspNetCore.Session

 Erro HttpContext.Session.SetString (chave, valor).

Eu adicionei o código no startUp.cs.

 public void ConfigureServices (serviços IServiceCollection)
 {
 // Adicionar serviços de estrutura
 services.AddApplicationInsightsTelemetry (Configuração);
 services.AddAuthorization ();
 services.AddSession (opções =>
 {
 options.IdleTimeout = TimeSpan.FromDays (7);
 options.CookieName = ".FileSystem";
 });
 services.AddMvc ();
 }
 public void Configure (IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
 {
 #região

 loggerFactory.AddConsole (Configuration.GetSection ("Logging"));
 loggerFactory.AddDebug ();

 app.UseApplicationInsightsRequestTelemetry ();

 if (env.IsDevelopment ())
 {
 app.UseDeveloperExceptionPage ();
 app.UseBrowserLink ();
 }
 outro
 {
 app.UseExceptionHandler ("/ Home / Error");
 }

 app.UseApplicationInsightsExceptionTelemetry ();

 app.UseStaticFiles ();

 app.UseMvc (routes =>
 {
 routes.MapRoute (
 nome: "padrão",
 modelo: "{controlador = Home} / {ação = Índice} / {id?}");
 });

 #endregion

 app.UseSession ();
 }
 }

** Não está funcionando. HttpContext.session.setString ()

erro: a sessão não foi configurada para este aplicativo ou solicitação.

Eu li alguns blogs: asp.net core rc1.
O blog mostra que devo importar o pacote: aspnet.session.
mas quando eu importo este pacote, o pacote não pode suportar a função app.UseSession ().

Ajuda! como posso usar a sessão no aspNet core RC2

Comentários muito úteis

Middlewares são adicionados ao pipeline na ordem em que aparecem no seu código. Nesse caso, UseSession aparece depois de UseMvc ; conseqüentemente, ele não é configurado até que o Mvc seja executado. Adicione-o em algum momento antes de sua chamada para UseMvc . https://docs.asp.net/en/latest/fundamentals/middleware.html#creating -a-middleware-pipeline-with-iapplicationbuilder tem informações muito úteis sobre como isso funciona.

Todos 3 comentários

Middlewares são adicionados ao pipeline na ordem em que aparecem no seu código. Nesse caso, UseSession aparece depois de UseMvc ; conseqüentemente, ele não é configurado até que o Mvc seja executado. Adicione-o em algum momento antes de sua chamada para UseMvc . https://docs.asp.net/en/latest/fundamentals/middleware.html#creating -a-middleware-pipeline-with-iapplicationbuilder tem informações muito úteis sobre como isso funciona.

@pranavkm Muito obrigado.

inútil

Esta página foi útil?
0 / 5 - 0 avaliações