我有来自 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,但没有浏览器信息。
我如何获得同样的功能?
有很多包可以包含相关功能,请阅读浏览器版本。
您可以安装此软件包:
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();
}
}
结果: