次の Web サービス インターフェイス (WCF サービス) メソッドが定義されています。
[WebInvoke(Method = "POST", UriTemplate = "sites/{siteId}/storage/{*filePath}", BodyStyle = WebMessageBodyStyle.Bare)]
[OperationContract]
FileUploadResultDto UploadMultipart(Stream fileData, string siteId, string filePath);
"(host)/sites/1234/storage/%D0%BC%D0%B0%D0%BC%D0%B0.html" に対して HTTP POST リクエストを実行すると、 .html")
パラメーター filePath は "мама.html" として読み取られますが、これは誤りです。
「мама.html」として直読していただきたいです。
ただし、「м」は、"м" 文字の html エンコード バージョンです。
WCF/UriTemplate がこのように動作するのはなぜですか? 文字列の直接表現を直接取得し、一部の文字を html エンコードしないようにするにはどうすればよいですか? このための web.config の設定はありますか? バグですか?