如何读取.Net Core 7中的浏览器信息?

问题描述 投票:0回答:1

我有来自 ASP.NET MVC 5 应用程序的以下 VB 代码,该代码正在使用 C# 移植到 .Net Core 7:

Private Function GetDisplaySettings() As DisplaySettings
    Return New DisplaySettings() With {
        .IsMobileDevice = HttpContext.Current.Request.Browser.IsMobileDevice,
        .MobileDeviceManufacturer = HttpContext.Current.Request.Browser.MobileDeviceManufacturer,
        .MobileDeviceModel = HttpContext.Current.Request.Browser.MobileDeviceModel,
        .ScreenHeight = HttpContext.Current.Request.Browser.ScreenPixelsHeight,
        .ScreenWidth = HttpContext.Current.Request.Browser.ScreenPixelsWidth
    }
End Function

在.Net Core 7中,我仍然有HttpContext,但它不包含Current。它确实包含 Request,但没有浏览器信息。

我如何获得同样的功能?

asp.net-core
1个回答
0
投票

有很多包可以包含相关功能,请阅读浏览器版本。

您可以安装此软件包:

Install-Package Shyjus.BrowserDetector

用途:

builder.Services.AddBrowserDetection();

控制器:

public class HomeController : Controller
{
    private readonly IBrowserDetector browserDetector;
    public HomeController(IBrowserDetector browserDetector)
    {
        this.browserDetector = browserDetector;
    }
    public IActionResult Index()
    {
        var browser = this.browserDetector.Browser;
        string version = browser.Version;

        return View();
    }
}

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.