我试图得到一些API用户的要求一样,他们使用的设备和操作系统的信息,所以我想它是这样的:的Web API HttpContext.Current.Request.UserAgent总是空
private string GetDeviceInfo()
{
var userAgent = HttpContext.Current.Request.UserAgent;
var uaParser = Parser.GetDefault();
var c = uaParser.Parse(userAgent);
return c.Device + "|" + c.OS + "|" + c.UserAgent;
}
但HttpContext.Current.Request.UserAgent
始终为空!我搜索了一下,并尝试了这个link,你能告诉我什么是错的吗?
样品有你踩到直通代码..?如果是的话'userAgent'中的值也可以看看这篇文章.. http://www.codeproject.com/Articles/42347/How-to-Detect-Browser-Capabilities-in-ASP-NET – MethodMan 2014-12-01 15:49:32
可能当你的客户没有发送用户代理标题。你如何访问你的api? @Figo – 2014-12-01 15:53:54
@DJKRAZE'userAgent'为'null',因为'HttpContext.Current.Request.UserAgent'为'null',它会抛出一个异常'System.ArgumentNullException:值不能为空。参数名称:在UAParser.Parser.Parsers的System.Text.RegularExpressions.Regex.Match(String input)处输入。|| c_DisplayClass43'1。| Create | b41(String input)'! – 2014-12-01 16:07:43