我正在为使用HTTP post / get请求的程序编写服务,因此我使用钩子方法处理所有传入的请求,该方法需要System.IO.Stream
并返回System.IO.Stream
。
当我通过转换为字符串然后使用System.Web.HttpUtility.ParseQueryString(string)
来解析传入的请求(包含在HTML表单中)时,它似乎会自动对数据进行URL解码。当我返回一个文件路径(一个Windows UNC,而不是解释为什么我那个)时,我最初对字符串进行URL编码,然后转换为流并使用return语句返回它,客户端似乎得到了一个双重编码的字符串。
所以,为了确保,WCF会自动对我进行URL编码/解码流,这是使用System.ServiceModel.WebHttpBinding
的一部分吗?
答案 0 :(得分:1)
显然,确实如此:
“对于RESTful服务,WCF提供名为System.ServiceModel.WebHttpBinding的绑定。 此绑定包括知道如何使用HTTP和HTTPS传输读取和写入信息的部分,以及编码适用于HTTP的消息。“
来自here。