Ниже приведен мой код из файла startup.cs,
public void ConfigureServices(IServiceCollection services){
services.AddMvc().AddJsonOptions(options =>{
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});
services.AddDistributedMemoryCache();
services.AddSession(options => {
// Set a short timeout for easy testing.
options.IdleTimeout = TimeSpan.FromSeconds(36000);
options.Cookie.HttpOnly = true;
});
services.AddCors(options => {
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env{
if (env.IsDevelopment()){
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
//app.UseCors("CorsPolicy");
// global cors policy
app.UseCors(x => x
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
app.UseSession();
app.UseAuthentication();
app.UseMvc();
}
Ниже приведен код для установки и получения идентификатора пользователя в сеансе:
HttpContext.Session.SetInt32("UserId", user.Id);
int userId = (int)HttpContext.Session.GetInt32("UserId");
При чтении сеанса я получаю исключение нижев действии, отличном от действия, в котором оно установлено.Любая причина, почему сессия не работает?