c# - C# (.Net) 中的浏览器检测

标签 c# asp.net .net browser-detection

我今天在 C# 领域。 我正在尝试编写一个接受用户代理字符串并返回至少给我浏览器名称和版本的对象的函数。所以我尝试了this answer ,但显然我无权访问 HttpBrowserCapabilities。它告诉我找不到类型或命名空间名称(是的,即使我使用System.Web添加它仍然没有显示,或者当我使用System.Web键入时它没有弹出,所以它是显然不存在)。

我使用的是 .net 3.5,但该类的文档显示它甚至存在于 3.5 中,所以我不确定发生了什么。我可以访问 browscap 文件 - ini 或 xml。我必须从头开始写吗?

编辑:我已经修复了引用问题。但 Chrome 被报告为 AppleMAC-Safari 5.0。我想知道我是否需要一种完全不同的方法。 PHP 使用相同的 ini 文件很好地解决了这个问题。

最佳答案

添加 using block 不会自动导入 DLL。 using 所做的只是允许您不写:

System.Web.HttpClient //Or whatever

到处都是,使用 HttpClient 代替。

您需要在项目的任何类对您可用之前向项目添加对 System.Web引用

关于c# - C# (.Net) 中的浏览器检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28305524/

相关文章:

c# - HttpUtility.ParseQueryString() 总是将特殊字符编码为 un​​icode

c# - 双击标签打开 Form C#

asp.net - ASP.NET web 服务的大型静态数据?

c# - 在构建后事件中更新本地 nuget 包

c# - 我可以摆脱这个可怕的阻止代码吗?

c# - Asp.net mvc - 从自定义 Action 过滤器访问 View 模型

c# - Asp.net 在 GridView.AllowPaging ="true"时生成错误的 SQL 请求

c# - 如何创建一个多目标但针对每个框架不同的 dll 的 .NET Core 库?

.net - asp :Menu hover makes "Security Information" pop up, 我该如何修复?

.net - 这个图案叫什么?