Значение сеанса всегда равно нулю в ASP.NET Core Web API - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь сохранить значения в сеансе в проекте ядра web asp.net.Я сослался на ссылку ниже, чтобы сохранить значения в сессии.https://andrewlock.net/an-introduction-to-session-storage-in-asp-net-core/

Но при получении значения сеанса я всегда получаю нулевое значение.

1 Ответ

0 голосов
/ 03 декабря 2018

Вам необходимо предоставить более подробную информацию о ваших кодах, который не работает.Но в основном вы можете обратиться к следующим шагам:

  1. Добавить приложение ASP.NET Core 2.0 web api.
  2. Установить пакет NuGet для Microsoft.AspNetCore.Session.
  3. Измените ваши Startup.cs, вызовите методы AddDistributedMemoryCache и AddSessio n в функции ConfigureServices и добавьте метод UseSession в функцию Configure:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
    
        services.AddDistributedMemoryCache();
        services.AddSession();
    }
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseSession();
        app.UseMvc();
    }
    
  4. Получить / установитьсеанс в контроллере (с использованием Microsoft.AspNetCore.Http;):

    [HttpGet("setSession/{name}")]
    public IActionResult setsession(string name)
    {
        HttpContext.Session.SetString("Name", name);
        return Ok("session data set");
    }
    [HttpGet("getSession")]
    public IActionResult getsessiondata()
    {
        var sessionData = HttpContext.Session.GetString("Name");
        return Ok(sessionData);
    }
    
  5. Затем вы можете сделать вызов API для http://localhost:xxxxx/api/ControllerName/setSession/derek, чтобы установить сеанс, и http://localhost:xxxxx/api/ControllerName/getSession, чтобы получить данные сеанса.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...