当前位置: 首页 > 编程语言 > C#

从UserAgent字符串创建HttpBrowserCapabilitiesBase分享

时间:2023-04-10 22:15:42 C#

C#学习教程:从UserAgent字符串创建HttpBrowserCapabilitiesBase我们目前在某些MVC基础结构代码中使用此属性来获取浏览器名称和版本号(输出到日志)。我们还有一个使用ServiceStack的api,我希望它能够连接到我们现有的基础设施中。唯一缺少的是在UserAgent标头中解析浏览器名称和版本的能力(我很欣赏IHttpRequest.UserAgent),但需要一种方法来做到这一点。我的问题-是否有可能以某种方式创建带有UserAgent字符串的HttpBrowserCapabilitiesBase?我在msdn上看到的唯一可用的子类型是HttpBrowserCapabilitiesWrapper,它唯一的构造函数是另一个HttpBrowserCapabilitiesBase。我以为这个类可能只是解析UserAgent字符串,那么为什么没有ctor(string)?是否有可以实现此目的的子类型、工厂或静态方法?一般来说,我只是因为懒惰而这样做-当我知道.Net具有这种能力并且他们只是隐藏它时,我不想编写/找到另一个UserAgent解析器。我必须自己做。这是我试过的。它是从System.Web反编译而来的,但仍然依赖于该库。我仍在测试它,但也许它可以帮助你:varbrowserCapsashtable=newHttpBrowserCapabilitiesash();varHttpBrowserCapabilitiesash();(180,StringComparer.OrdinalIgnoreCase);哈希表[string.Empty]=userAgent;browserCaps.Capabilities=哈希表;factory.ConfigureBrowserCapabilities(headers,browserCaps);factory.ConfigureCustomCapabilities(标头,browserCaps);返回浏览器上限;C#学习教程:CreateHttpBrowserCapabilitiesBasefromtheUserAgentstring分享全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——varfeatures=BrowserCapabilities.GetHttpBrowserCapabilities(null,"Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0)");Console.WriteLine(features.Browser);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: