有谁知道如何在asp.net中识别来自移动设备的请求?我正在使用此代码,但使用迷你歌剧模拟器来检查它是来自移动还是桌面应用程序。
HttpRequest httpRequest = HttpContext.Current.Request;
if ((httpRequest.Browser.IsMobileDevice))
{
string path = httpRequest.Url.PathAndQuery;
bool isOnMobilePage = path.StartsWith("/Mobile/", StringComparison.OrdinalIgnoreCase);
if (!isOnMobilePage)
{
string redirectTo = "~/Mobile/";
HttpContext.Current.Response.Redirect(redirectTo);
}
}
我使用的是Visual Studio,它没有内置的移动sdk。
由于
答案 0 :(得分:2)
答案 1 :(得分:0)
ASP.NET在服务器上使用预定义的* .browser文件到detect the browser capability。这不是一个好方法,因为它总是不是最新的。您可以parse the UserAgent获取信息。
答案 2 :(得分:0)
将WURFL resource database与.NET API一起使用。这将为您提供非常广泛的移动功能列表。它是一个开源社区项目,不断使用最新设备进行维护。
51度是我过去使用过的API。浏览器对象使用各种移动特定属性(如model,make,os)进行扩展,重要的是如果它是移动设备。此外,WURFL社区现在提供自己的WURFL .Net API。这个SO question进行了比较和对比。
有趣的是,当我们进行测试时,平板电脑设备不会作为移动设备出现,所以在分类这些设备时,您需要了解对您来说重要的事情。如果您只关心较小的屏幕分辨率,那么这就足够了。但是,如果您的网站有兴趣定位可移植设备,那么您必须包含其他逻辑,然后检查模型并制作。