C# (.Net) 中的浏览器检测
Browser detection in C# (.Net)
我今天在 C# 土地上。 我正在尝试编写一个接受用户代理字符串的函数和returns一个至少给我浏览器名称和版本的对象。所以我尝试了this answer,但显然我无权访问 HttpBrowserCapabilities。它告诉我找不到类型或命名空间名称(是的,即使我添加了 using System.Web,它仍然没有显示,或者当我使用 System.Web 键入时,它没有弹出起来,所以它显然不存在)。
我正在使用 .net 3.5,但 class 的文档显示它甚至在 3.5 中也存在,所以我不确定发生了什么。我可以访问 browscap 文件 - ini 或 xml。我必须从头开始写这个吗?
编辑:我已经解决了引用问题。但是 Chrome 被报告为 AppleMAC-Safari 5.0。我想知道我是否需要一种完全不同的方法。 PHP 用同一个 ini 文件搞定。
您的源文件中是否有 using System.Web;
语句?
提示:如果您正在使用 Visual Studio,并且您在项目中有对 System.Web.dll 的引用,如果您键入类型的名称并按 Ctrl-.
它将为您提供一个弹出菜单,用于将命名空间引用添加到您的源文件。
您在 ObjectBrowser 中看到它了吗(假设您使用的是 Visual Studio)?我今天早上找到了命名空间(假设我使用的是 4.5 - 但文档显示它自 3.5 及更早版本以来一直存在)
添加 using
块 不会 自动导入 DLL。 using
所做的只是让你不写:
System.Web.HttpClient //Or whatever
到处都是,改用HttpClient
。
您需要先将 reference 添加到项目 System.Web
,然后您才能使用其中的任何 类。
我今天在 C# 土地上。 我正在尝试编写一个接受用户代理字符串的函数和returns一个至少给我浏览器名称和版本的对象。所以我尝试了this answer,但显然我无权访问 HttpBrowserCapabilities。它告诉我找不到类型或命名空间名称(是的,即使我添加了 using System.Web,它仍然没有显示,或者当我使用 System.Web 键入时,它没有弹出起来,所以它显然不存在)。
我正在使用 .net 3.5,但 class 的文档显示它甚至在 3.5 中也存在,所以我不确定发生了什么。我可以访问 browscap 文件 - ini 或 xml。我必须从头开始写这个吗?
编辑:我已经解决了引用问题。但是 Chrome 被报告为 AppleMAC-Safari 5.0。我想知道我是否需要一种完全不同的方法。 PHP 用同一个 ini 文件搞定。
您的源文件中是否有 using System.Web;
语句?
提示:如果您正在使用 Visual Studio,并且您在项目中有对 System.Web.dll 的引用,如果您键入类型的名称并按 Ctrl-.
它将为您提供一个弹出菜单,用于将命名空间引用添加到您的源文件。
您在 ObjectBrowser 中看到它了吗(假设您使用的是 Visual Studio)?我今天早上找到了命名空间(假设我使用的是 4.5 - 但文档显示它自 3.5 及更早版本以来一直存在)
添加 using
块 不会 自动导入 DLL。 using
所做的只是让你不写:
System.Web.HttpClient //Or whatever
到处都是,改用HttpClient
。
您需要先将 reference 添加到项目 System.Web
,然后您才能使用其中的任何 类。