Данные сеанса не сохраняются в разных запросах с помощью Angular 5 Frontend и .Net Core API - PullRequest
0 голосов
/ 24 апреля 2019

Мы пытаемся настроить некоторые простые данные сеанса для нашего .net core api. У нас есть приложение angular 5, которое является нашим внешним интерфейсом и работает на post 4200, а api - это ядро ​​.net, работающее на порту 5000.

Кажется, что каждый пример, который я могу найти в Интернете, дает одинаковые результаты. То, что данные сеанса не состоят из запросов к запросу. Как будто API не может понять, что это тот же пользователь, который делает последующие запросы.

Мне кажется, я правильно настроил его в файле Startup.cs

.
public void ConfigureServices(IServiceCollection service)
{
    // ....
    services.AddDistributedMemoryCache();
    services.AddSessions();
    // ....
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILogger<Startup> logger, IApiVersionDescriptionProvider versionProvider)
{
    // ...
    app.UseSession();
    app.UseMvc();
    // ...
}

Затем я пытаюсь проверить реализацию в одном из моих контроллеров

[HttpGet]
public Task<IEnumerable<UserModelV1>> Query([FromQuery] string email, [FromQuery] string instanceId)
{
    HttpContext.Session.SetString("Test", "This is a test");
    return _userService.Read(userId, email, instanceId);
}

[HttpPost("delete")]
public IActionResult BatchDelete([FromBody] string[] ids)
{
    var message = HttpContext.Session.GetString("Test");
    return _userService.Delete(ModelState, userId, ids.ToList());
}

Исходя из всего, что я прочитал, данные сеанса в методе BatchDelete должны быть равны «Это тест», но по какой-то причине это всегда null.

...