OS 和移动检测是否使用 HttpBrowserCapabilities 最佳实践?
Is using HttpBrowserCapabilities best Practice for OS and mobile detection?
我想知道使用从 HttpContext.Request.Browser 获得的 HttpBrowserCapablilties 是否是我检查请求是否来自 windows 台式机而非移动设备的最佳方式.
请参阅下面的示例,了解我如何使用它。
public static bool IsWindowsDesktop(this HttpBrowserCapabilities browser)
{
return string.Equals(browser.Platform, "WinNT") && browser.IsMobileDevice;
}
简短的回答是否定的。有关更多详细信息,请参阅 SO,但 HttpBrowserCapabilities 基于您的框架更新和存储在以下位置的内容:
%SystemRoot%\Microsoft.NET\Framework[version]\Config\Browsers
请注意,建议的 51 Degrees 库目前存在严重的设计缺陷。当您尝试检测 UA 是否移动时,它会为每个请求引发异常。我们已经与 51 Degrees 讨论过这个问题,他们将在 4.x 版本中修复同样的问题。在那之前我们必须忍受:
你可能对其他第 3 方库有更好的运气。
我想知道使用从 HttpContext.Request.Browser 获得的 HttpBrowserCapablilties 是否是我检查请求是否来自 windows 台式机而非移动设备的最佳方式.
请参阅下面的示例,了解我如何使用它。
public static bool IsWindowsDesktop(this HttpBrowserCapabilities browser)
{
return string.Equals(browser.Platform, "WinNT") && browser.IsMobileDevice;
}
简短的回答是否定的。有关更多详细信息,请参阅 SO,但 HttpBrowserCapabilities 基于您的框架更新和存储在以下位置的内容:
%SystemRoot%\Microsoft.NET\Framework[version]\Config\Browsers
请注意,建议的 51 Degrees 库目前存在严重的设计缺陷。当您尝试检测 UA 是否移动时,它会为每个请求引发异常。我们已经与 51 Degrees 讨论过这个问题,他们将在 4.x 版本中修复同样的问题。在那之前我们必须忍受:
你可能对其他第 3 方库有更好的运气。