【问题标题】:Uri.OriginalString is encoded in IIS 8.5Uri.OriginalString 在 IIS 8.5 中编码
【发布时间】:2013-10-22 12:06:38
【问题描述】:

最近我分别升级到windows 8.1到IIS 8.5。

我有一个 WCF 网络服务,它通过以下方式获取原始网址:

var url = operationContext.IncomingMessageProperties.Via;

假设网址是:http://localhost/?email=test@test.com(这是原始网址)

url.OriginalString 升级之前,我收到了确切的原始网址。 在url.OriginalString 升级后,我收到了http://localhost/?email=test%40test.com

知道这可能是什么原因吗?

谢谢。

【问题讨论】:

  • 网址是一样的,只是编码了。
  • 当然,问题是在升级到 8.5 之前 url.OriginalString 包含未编码的字符串。

标签: asp.net wcf iis


【解决方案1】:
<configuration>
<appSettings>
    <add key="aspnet:UseLegacyRequestUrlGeneration" value="true" />
</appSettings>

这解决了我的问题。

解决办法的来源是:http://programmaticallyspeaking.com/the-mysteriously-escaped-request-path-in-aspnet.html

谢谢!

【讨论】:

  • 我不知道这是什么,那篇文章让我难以理解,但谢谢!我最终通过使用“AbsoluteUri”而不是“OriginalString”来解决这个问题,但这很好发现,再次感谢您发布源代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-15
  • 1970-01-01
相关资源
最近更新 更多