У меня есть требование, чтобы наш веб-сайт мог генерировать идентификационный номер для отслеживания, чтобы пользователи могли отслеживать, как они заходят на наш веб-сайт.
Веб-сайт представляет собой угловой интерфейс и сервер .Net Web Api2, и ониявляются частью одного и того же домена
Мой первоначальный план состоит в том, чтобы исходный URL-адрес отслеживания направлялся непосредственно к API (например, http://api.mywebsite.com/t/45mg9), а затем это возвращает перенаправление на соответствующую страницу (например, * 1007).*http://web.mywebsite.com).
Перенаправление работает нормально, но я хочу отслеживать начальный код отслеживания, так как пользователь может не войти в систему, поэтому необходимо удерживать его, пока он не вошел в систему.
Я пробовал:
Cookies :
В сообщении о перенаправлении я установил cookie, используя следующее:
var response = new HttpResponseMessage(System.Net.HttpStatusCode.Redirect);
response.Headers.Location = new Uri(tracking.Url);
var cookie = new CookieHeaderValue("tracking", JsonConvert.SerializeObject(tracking))
{
HttpOnly = true,
Path = "/",
Domain = "mywebsite.com",
Expires = DateTimeOffset.UtcNow.AddDays(30)
};
response.Headers.AddCookies(new[] { cookie });
return ResponseMessage(response);
И может видеть, что cookie устанавливается на перенаправление, но его там нет, когда веб-приложение выполняет последующие вызовы API.
Session
Iвключил сеансы в моем веб-API и установить значение, но этото есть потерять его с помощью перенаправлений.
Я хочу попытаться сохранить это в API, поскольку я не думаю, что веб-приложение должно знать о хранимой информации, интересует только API.
Как я могу сохранить постоянную информацию (cookie, сеанс и т. Д.), Отправляемую в API?Нужно ли указывать веб-приложению передавать файлы cookie в вызов API?