request.browser.isMobileDevice 位于 wurfl 之外,不会受到是否包含 wurfl 的影响。除非您明确地用 wurfl 值覆盖该值,这听起来不像您的描述。
使用 wurfl api 的文档非常好,可以在这里找到
http://wurfl.sourceforge.net/dotnet_index.php
它显示了如何设置 WurflManager 以及如何根据基于您传入的用户代理的设备对象检查 is_mobile 之类的“功能”。设置后,如果它是移动的或不是
device.GetVirtualCapability("is_mobile")
对于默认的 Chrome 桌面浏览器,您的用户代理看起来是正确的,所以这应该不是问题。
设置 MVC 站点,以便能够使用 .Mobile 扩展名路由到单独的移动视图。你会在 Global.asax 中设置这样的东西
// Remove default Mobile display mode if previously registered
var dm = DisplayModeProvider.Instance.Modes
.FirstOrDefault(x => x.DisplayModeId == DisplayModeProvider.MobileDisplayModeId);
if (dm != null)
{
DisplayModeProvider.Instance.Modes.Remove(dm);
}
var configurer = new ApplicationConfigurer();
var manager = WURFLManagerBuilder.Build(configurer);
DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Mobile")
{
ContextCondition = Context => manager.GetDeviceForRequest(Context.Request.UserAgent).GetVirtualCapability("is_mobile") == "true"
});
如果您正在使用其他技术堆栈,或者不在 MVC 中以这种方式路由视图,那么本文将详细介绍这些用例中的大部分。
http://www.asp.net/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application
您仍将要创建 WurflManager,并检查与上述相同的功能,但您将在通常检查 IsMobileDevice 的任何地方执行此操作。