【发布时间】:2017-04-21 18:31:00
【问题描述】:
我正在使用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 问题的影响(here、here、here 和网络上的许多其他地方)。
【问题讨论】:
标签: c# .net encoding percent-encoding