В настоящее время я пытаюсь перенести приложение ASP.Net MVC API 4.6.2 в ASP.Net Core 2.1.
private static string GetSessionId()
{
// Get from the session state, most reliable, but not likely available
if (HttpContext.Current.Session != null && !string.IsNullOrEmpty(HttpContext.Current.Session.SessionID))
{
return HttpContext.Current.Session.SessionID;
}
// if the application has enabled anonymous tracking, then this is also reliable
// (note: this requires <anonymousIdentification enabled="true" /> in the web.onfig.
if (HttpContext.Current.Profile.IsAnonymous &&
!string.IsNullOrEmpty(HttpContext.Current.Request.AnonymousID))
{
return HttpContext.Current.Request.AnonymousID;
}
// last resort, we track this ourselves.
var telemetryId = HttpContext.Current.Request.Cookies[TelemetryKey] != null
? HttpContext.Current.Request.Cookies[TelemetryKey].Value
: Guid.NewGuid().ToString();
var telemetryCookie = new HttpCookie(TelemetryKey, telemetryId) { Expires = DateTime.Now.AddYears(1) };
HttpContext.Current.Response.SetCookie(telemetryCookie);
return telemetryId;
}
Сейчас в версии .Net Core я не могу найти эквиваленты.И да, я зарегистрировал IHttpContextAccessor через ConfigureServices () и могу получить к нему доступ в этом классе обслуживания.Но текущий HttpContext, похоже, не обладает всеми свойствами, которые предлагает пространство имен Sytem.Web.Http.
Есть ли альтернативы, чтобы проверить, является ли пользователь аноанимальным?
(HttpContext.Current.Profile.IsAnonymous &&
string.IsNullOrEmpty(HttpContext.Current.Request.AnonymousID))
Кроме того, было бы замечательно, если бы были сделаны какие-либо предложения относительно сохранения вызовов Http в стандартной библиотеке классов .Net.
Заранее спасибо.