.NET Framework Uri类实际内容具体讲解
创始人
2024-06-19 11:41:50
0

大家通过对.NET Framework的学习,可能会对其中的类库方面的知识比较头疼。因为其包含的内容相当广泛,想要很好的掌握是比较困难的。提供统一资源标识符 (URI) 的对象表示形式和对.NET Framework Uri类各部分的轻松访问。 #t#

命名空间:System

程序集:System(在 system.dll 中)

.NET Framework Uri类语法:C#

  1. [SerializableAttribute]   
  2. public class Uri : ISerializable 

备注

.NET Framework Uri类是 Intranet 或 Internet 上可由应用程序使用的资源的一种简洁表示形式。Uri 类定义了属性和方法来处理 URI,包括分析、比较和组合。Uri 类属性是只读的;若要创建可修改的对象,请使用 UriBuilder 类。

相对 URI(例如“/new/index.htm”)必须相对于基 URI 展开,这样才是绝对的。提供了 MakeRelative 方法在必要时将绝对 URI 转换为相对 URI。

如果 URI 字符串是格式良好的 URI 并且包括方案标识符,Uri 构造函数将不会转义 URI 字符串。

Uri 属性用转义编码返回规范化数据表示形式,任何 Unicode 值大于 127 的字符都会被替换为等效的十六进制数。为使 URI 具有规范化格式,Uri 构造函数执行以下步骤:

将.NET Framework Uri类方案转换为小写。

将主机名转换为小写。

如果主机名为 IPv6 地址,则使用规范化 IPv6 地址。ScopeId 和其他可选的 IPv6 数据将被移除

移除默认端口号和空端口号。

通过压缩 /./、/../、// 等序列(包括转义表示形式),规范化分层 URI 的路径。

对于分层 URI,如果主机未以正斜杠 (/) 结尾,则添加一个正斜杠。

URI 中的任何保留字符都要根据 RFC 2396 进行转义。

使用 ToString 方法,可以将 Uri 类的内容从转义编码的 URI 引用转换为可读的 URI 引用。请注意,在 ToString 方法的输出中,某些保留字符可能仍会被转义。这是为了支持利用 ToString 返回的值明确无误地重新构造 URI。

某些.NET Framework Uri类会包括一个片段标识符或一个查询,或同时包含这两项内容。片段标识符是跟在数字符号 (#) 之后的任意文本(不包括数字符号本身);段落文本储存在 Fragment 属性中。查询信息是 URI 中跟在问号 (?) 后的任何文本;查询文本存储在 Query 属性中。

在 .NET Framework 1.1 版中,如果指定给构造函数的字符串包含未知的方案和“c:\”,则 URI 类会在冒号后面插入“//”。例如,URI xyz:c:\abc 会转换为 xyz://c:/abc。在 .NET Framework 2.0 版中已经移除这一行为,示例字符串会转换为 xyz:c:/abc。

注意.NET Framework Uri类支持使用以下格式的 IP 地址:四组表示法的 IPv4 协议和冒号分隔的十六进制 IPv6 协议。请记住在 IPv6 地址两边括上方括号,如 http://[::1]。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...