Я пытался использовать HttpContextAccessor, но не смог получить «User-Agent». Как решить эту проблему?
Код: Выделить всё
public string GetBrowserDetails()
{
var browserDetails = string.Empty;
HttpRequest request = _httpContextAccessor.HttpContext.Request;
if (request.Headers.ContainsKey("User-Agent"))
{
var userAgent = request.Headers["User-Agent"].ToString();
// Log or debug the userAgent value to ensure it is not empty
Console.WriteLine($"User-Agent: {userAgent}");
var browser = string.Empty;
var version = string.Empty;
if (Regex.IsMatch(userAgent, @"Edge\/\d+"))
{
browser = "Edge";
version = Regex.Match(userAgent, @"Edge\/(\d+\.\d+)").Groups[1].Value;
}
else if (Regex.IsMatch(userAgent, @"Edg\/\d+"))
{
browser = "Edge";
version = Regex.Match(userAgent, @"Edg\/(\d+\.\d+)").Groups[1].Value;
}
else
{
browser = "Unknown";
version = "Unknown";
}
browserDetails = $"Browser: {browser} Version: {version}{Environment.NewLine}{Environment.NewLine}";
}
else
{
Console.WriteLine("User-Agent header not found");
}
return browserDetails;
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... n-8-aspire