我正在使用Uri.EncodeDataString在 URL 上发送查询字符串。原始字符串是:Photo($select=Name,Id)
在我的 VS2015 调试器中运行的 asp.net Web 服务中,Uri.EncodeDataString 将返回:Photo(%24select%3DName%2CId)
但是,在 VS2015 中的 Resharper 测试运行器下运行的 NUnit 测试中,它返回:Photo%28%24select%3DName%2CId%29
。注意括号编码的不同。
为什么括号在单元测试中编码,而不是在 Web 服务中?括号不应该在 Web 服务中编码吗?我在 .Net 4.6 下运行,所以我不应该受到 StackOverflow 上其他地方讨论的 RFC 3986 问题的影响(这里、这里、这里以及网络上的许多其他地方)。