路径为空的 Uri

2024-03-13

是否可以使用 System.Uri 来表示带有空路径组件的 URL?

每当我创作时

new Uri("http://example.com")

.Net (4) 似乎坚持附加尾部斜杠,从而创建不同的 URL。换句话说,

new Uri("http://example.com").ToString()

返回“http://example.com/ http://example.com/" and

new Uri("http://example.com").Equals(new Uri("http://example.com/")) == true

这种破坏行为(根据 RFC 3986)可以被抑制吗?还是我必须推出自己的课程?

Update:

看起来我在第 6.2.3 节中错过了这一点:

一般来说,使用通用语法的 URI 具有
空路径应规范为“/”路径。

然而,措辞表明这是可选的。所以问题仍然存在:能否让 Uri 不这样做?


从 .NET 2.0 开始,您可以通过以下方式获取传递给构造函数的原始字符串OriginalString财产 http://msdn.microsoft.com/en-us/library/system.uri.originalstring.aspx。原始字符串丢失时Uri对象被序列化。

如果这不是您想要的,则没有任何帮助。Equals and ToString方法将始终使用规范化版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

路径为空的 Uri 的相关文章

  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • 如何填充 ToolStripComboBox?

    我发现它很难将数据绑定到ToolStripComboBox 好像没有这个ValueMember and DisplayMember特性 怎么绑定呢 访问toolstripcombobox中包装的组合框并访问其ValueMember Disp
  • 使用可变参数包类型扩展的 C++ 函数调用者包装器

    我绑定了一些 API 并且绑定了一些函数签名 如下所示 static bool WrapperFunction JSContext cx unsigned argc JS Value vp 我尝试将对象和函数包装在 SpiderMonkey
  • File.AppendText 尝试写入错误的位置

    我有一个 C 控制台应用程序 它作为 Windows 任务计划程序中的计划任务运行 此控制台应用程序写入日志文件 该日志文件在调试模式下运行时会创建并写入应用程序文件夹本身内的文件 但是 当它在任务计划程序中运行时 它会抛出一个错误 指出访
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 这个可变参数模板示例有什么问题?

    基类是 include
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • 是否可以在不连接数据库的情况下检索 MetadataWorkspace?

    我正在编写一个需要遍历实体框架的测试库MetadataWorkspace对于给定的DbContext类型 但是 由于这是一个测试库 我宁愿不连接到数据库 它引入了测试环境中可能无法使用的依赖项 当我尝试获取参考时MetadataWorksp
  • 如何使用 C++11 using 语法键入定义函数指针?

    我想写这个 typedef void FunctionPtr using using 我该怎么做呢 它具有类似的语法 只不过您从指针中删除了标识符 using FunctionPtr void 这是一个Example http ideone

随机推荐

  • Objective-C 中的文本解析?

    是否有任何库可以在 Objective C iPhone 应用程序中解析 Textile Textile 到 HTML C 库也可以工作 Update 我在 C Obj C 中找不到任何足够开发的库 但我确实找到了一个用 Javascrip
  • 多态性、泛型和匿名类型 C#

    考虑以下场景 文档 gt 部分 gt 正文 gt 项目 文档有部分 部分包含正文 正文有一些文本和项目列表 这些项目就是问题的内容 有时项目是基本的字符串列表 但有时项目包含自定义数据类型的列表 So public class Docume
  • 为什么 git Remote prune origin 会删除我的本地标签?

    我有几个标记引用来自本地分支和远程跟踪分支的提交 或这些提交的祖先 我想删除对分支和标签的引用origin跑完后git fetch git remote prune origin dry run 但输出表明它会修剪我的本地标签 即使是我手动
  • YDN DB 包含问题

    我已经包含了 YDN DB 文件 ydn db isw core crypt qry dev js 来加密角度应用程序中的索引数据库 它被添加到 socket io 1 4 5 js 之后的 index html 主体部分中 加载器 spi
  • 从 saber API 发出票据

    我们已经成功实施了 sabre 低价搜索和预订工作流程并创建了 PNR 现在 我想使用 api 开具该 PNR 的机票 My workflow is 1 BargainFinderMaxRQ find 2 EnhancedAirBook b
  • 通过surfaceview使用zxing条码阅读器

    我正在创建一个扫码机应用程序 我想使用Zxing要读取条形码 我的应用程序有一个表面视图并向其中显示相机 但现在我想从 SurfaceView 相机扫描条形码 我使用它的原因是我的布局中的表面视图下有两个 Edittexts 来显示条形码的
  • 如何处理损坏的 Git 对象文件?

    当我接近配额时 我做了一次 Git pull 结果 我认为 得到了一个损坏的文件 git pull walk dffbfa18916a9db95ef8fafc6d7d769c29a445aa fatal object d4a0e759949
  • 是否可以从 Scala(spark) 调用 python 函数

    我正在创建一个 Spark 作业 需要使用用 python 编写的函数将列添加到数据帧中 其余的处理是使用 Scala 完成的 我找到了如何从 pyspark 调用 Java Scala 函数的示例 https community hort
  • 安装 MSDeploy 包时如何保留现有文件?

    我需要保留一些由我的网站生成的文件 是否可以使 MSDeploy 不删除任何文件 并且仅当包包含较新版本的文件时才覆盖现有文件 enableRule 跳过新文件规则将跳过对具有较新写入时间的文件的更新 enableRule 不删除规则将阻止
  • 如何移动然后删除MySQL中的字段

    我试图将字段从一个表移动到另一个表 然后从第一个表中删除它 我遇到的问题是它可以很好地移动数据 但不会从第一个表中删除它 这是我的代码 INSERT INTO out tickets SELECT FROM tickets DELETE F
  • 什么推理导致“包含递归定义的序列表达式编译不正确”

    问题尽管尾调用位置存在堆栈溢出 但仅限 64 位 https stackoverflow com q 35751350 1243762导致发现一个bug https github com Microsoft visualfsharp iss
  • 参数类型“Map Function()”无法分配给参数类型“Map

    这最初可能有效 但在 firebase 更新后 现在给我这个错误 我已在给出错误的部分添加了星号 错误消息已添加到代码下方 import package cloud firestore cloud firestore dart class
  • Grails 从服务中渲染视图?

    我刚刚开始在 Grails 中使用服务 在尝试从服务内部渲染页面时遇到问题 我尝试了如下所示的几种方法 但没有成功 服务电话 1 GroupCheckService isEnabled userObjects group notenable
  • 在 AuthorizeAttribute Mvc Core Web Api 中获取控制器实例

    我使用下面的类来控制我的 api 方法请求 并设置 BaseController 类的一些属性以在方法中常用 这个来自 Asp Net Mvc Web Api using System using System Collections Ge
  • 如何使用 R 找到数据中最常见的序列?

    我正在尝试弄清楚如何使用rollapply函数 从Zoo包 来查找数据集中最常见字符串的序列 但我还需要对某些变量 例如日期 行等 进行分组 在进一步讨论之前 值得注意的是 该查询建立在我之前在此发布的一个问题的基础上 如何使用 Table
  • React/Router/MemoryRouter - 如何传递历史属性并在子组件中使用push()?

    我正在构建一个 React 应用程序 我不希望更新浏览器中的 URL 我没有使用 react router dom 而只使用 react router 和 MemoryRouter https reacttraining com react
  • cos-extensions 安装 gpu 无法在 GCP Compute Engine 虚拟机上下载驱动程序签名

    我正在 GCP 计算引擎上使用支持 GPU 的虚拟机 作为操作系统 我使用容器优化版本 COS 89 16108 403 47 LTS 它支持通过 SSH 运行 cos extensions install gpu 来安装简单的 GPU 驱
  • 使用 cython 为一组文件制作一个 pyd [重复]

    这个问题在这里已经有答案了 我在一个包中有多个 py 文件 packageA init py mod1 py mod2 py mod3 py 我可以配置 cython 进行编译然后将它们全部打包在一个中吗packageA pyd 就我个人而
  • 如何在 Ruby 中生成随机日期?

    我的 Rails 3 应用程序中有一个模型 其中有一个date field class CreateJobs lt ActiveRecord Migration def self up create table jobs do t t da
  • 路径为空的 Uri

    是否可以使用 System Uri 来表示带有空路径组件的 URL 每当我创作时 new Uri http example com Net 4 似乎坚持附加尾部斜杠 从而创建不同的 URL 换句话说 new Uri http example