Я работаю над основным веб-приложением asp.net.Я не очень осведомлен о состоянии сеанса.Когда я вхожу в приложение, я получаю идентификатор сеанса и помещаю некоторые пользовательские данные в сеанс, используя HttpContext.Session.Эти значения находятся под текущим sessionid.И затем я отправил этот sessionid клиенту (браузеру).где я использовал angularjs.
Всякий раз, когда я отправлял запрос после входа в систему.Я отправил sessionid вместе с запросом в заголовке запроса.Но после того, как запрос достиг моего бэкэнда (WebApi), где я увидел еще один sessionid в HttpContext.Session.но у меня есть sessionid, который, имеющий эти значения сеанса.Но при использовании текущего идентификатора сеанса HttpContext.Session не удалось получить эти значения сеанса.
Должен ли я получить те значения сеанса по моему идентификатору сеанса, которые пришли вместе с заголовком запроса, или мне нужно изменить идентификатор сеанса HttpContext.Session или не разрешать изменять идентификатор сеанса HttpContext.Session для каждого запроса.Все, что я упомянул, пытался, но ничего не мог сделать. Что еще есть?Пожалуйста, кто-нибудь, помогите мне!Я мог видеть много ответов об этом в Интернете, но все для .Net Framework, а не для ASP.Net core 2.1.
Вот мой код,
Я установил значения сеанса в моем пользовательском контроллере.и после входа в систему я буду заполнять данные в моей странице создания цитаты и дать отправить.Тем временем я должен получить значения моего сеанса (которые я сохранил в методе входа контроллера пользователя) в моем методе создания контроллера цитаты.Таким образом, текущий идентификатор сеанса запроса изменяется в Httpcontext (даже если я использую IHttpContextAccessor). Поэтому не удалось получить значения моего сеанса
public class UserController : Controller {
public string Login(User objUser)
{...
HttpContext.Session.SetString("CompanyId", "1");
...}
}
public class QuoteController : Controller {
public string CreateQuote([FromBody]Quote objQuote)
{...
var companyId = HttpContext.Session.GetString("CompanyId");
...}
}