2013-10-22 42 views
2

最近我升級到Windows 8.1分別到IIS 8.5。Uri.OriginalString編碼在IIS 8.5

我有一個WCF Web服務,得到原始URL以:

var url = operationContext.IncomingMessageProperties.Via; 

比方說,該網址是:http://localhost/[email protected](這是原始URL)

之前升級在url.OriginalString我接收確切的原始網址。 在url.OriginalString升級後我收到http://localhost/?email=test%40test.com

任何想法可能是什麼原因呢?

謝謝。

+0

url是一樣的,但編碼。 – Fals

+0

絕對的問題是,在升級到8.5之前,url.OriginalString包含NOT編碼的字符串。 –

回答

2
<configuration> 
<appSettings> 
    <add key="aspnet:UseLegacyRequestUrlGeneration" value="true" /> 
</appSettings> 

這解決了我的問題。

解決方案的來源是:http://programmaticallyspeaking.com/the-mysteriously-escaped-request-path-in-aspnet.html

謝謝!

+0

我不知道這是什麼,那篇文章是在我的頭上,但謝謝!我最終通過使用「AbsoluteUri」而不是「OriginalString」來解決這個問題,但這很好發現,再次感謝發佈源代碼。 – SelAromDotNet