我定义了以下Web Service接口(WCF服务)方法:
[WebInvoke(Method = "POST", UriTemplate = "sites/{siteId}/storage/{*filePath}", BodyStyle = WebMessageBodyStyle.Bare)]
[OperationContract]
FileUploadResultDto UploadMultipart(Stream fileData, string siteId, string filePath);
如果我发出HTTP POST请求:“(host)/sites/1234/storage/%D0%BC%D0%B0%D0%BC%D0%B0.html”(这是URL编码版本“мама.html”)
参数filePath被读作“мма.html”,这是错误的。
我希望将其直接读作“мама.html”。
然而,“м”是“м”字符的html编码版本。
为什么WCF / UriTemplate会以这种方式运行?我怎样才能直接获得字符串的直接表示,而不是某些字符html编码? web.config中有设置吗?这是一个错误吗?