我有一个Wcf服务,该服务接受格式为'%% 032000007777?'的参数。在.net framework 4.0中,我们曾经对其进行过一次编码,并且能够通过在配置文件中添加以下元素来发送数据。
<system.net>
<settings>
<httpListener unescapeRequestUrl="false"/>
</settings>
</system.net>
现在,我们已将服务迁移到3.5框架,并且HttpListener元素在此处不可用。我们还有什么可以用来完成这项任务的?
我尝试过的- 我在配置文件中添加了元素,以检查它是否可以工作
<uri>
<iriParsing enabled="true" />
</uri>
也尝试添加
<uri>
<schemeSettings>
<add name="http"
genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
这两种方法都不起作用,所以我不确定下一步该怎么做。
这是我的api
[OperationContract]
[WebInvoke(UriTemplate = "/players/{id}/pin/validate", ResponseFormat = WebMessageFormat.Json, Method = "POST", BodyStyle = WebMessageBodyStyle.Bare,RequestFormat = WebMessageFormat.Json)]
PlayerResponse ValidatePlayerPin(string id, ValidatePlayerPinRequest pinRequest);
当我对参数进行两次编码时,我可以访问我的API并以原始格式获取数据,但是我需要它与单次编码一起工作吗?我可能会缺少任何方法吗?