在ASP.NET Core 2中获取"SessionOptions.CookieName已过时"

Ste*_*ler 3 c# asp.net-core

我最近升级到ASP.NET Core 2.该站点使用会话,但在我升级后,我得到:

"SessionOptions.CookieName"已过时:'此属性已过时,将在以后的版本中删除.推荐的替代方法是Cookie.Name.

实现会话的新方法是什么?

当前实现,Startup.cs(ConfigureServices):

services.AddSession(options =>
{
    options.CookieName = ".Smokers.Session";
    options.IdleTimeout = TimeSpan.FromHours(2);
});
Run Code Online (Sandbox Code Playgroud)

Startup.cs(配置):

.
.
.
app.UseSession();
Run Code Online (Sandbox Code Playgroud)

ta.*_*.is 7

实现会话的新方法是什么?

从阅读错误消息...

"SessionOptions.CookieName"已过时:'此属性已过时,将在以后的版本中删除.推荐的替代方法是Cookie.Name.

......好像你想用Cookie.Name.

统一API以配置cookie设置

public void ConfigureServices(ServiceCollection services)
{
    services.AddSession(options =>
    {
        // obsolete
        options.CookieName = "SessionCookie";
        options.CookieDomain = "contoso.com";
        options.CookiePath = "/";
        options.CookieHttpOnly = true;
        options.CookieSecure = CookieSecurePolicy.Always;
        // new API
        options.Cookie.Name = "SessionCookie";
        options.Cookie.Domain = "contoso.com";
        options.Cookie.Path = "/";
        options.Cookie.HttpOnly = true;
        options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
    });
}
Run Code Online (Sandbox Code Playgroud)