我有一个需要支持UTF-8编码查询的WCF服务。接口定义的示例如下所示:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "GetLocationID")]
List<GetLocationIdResult> GetLocationID(Stream locationIDparams);
端点定义使用webHttpBinding,如下所示:
<services>
<service behaviorConfiguration="External" name="Customer.Customer">
<endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" contract="Customer.ICustomer"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex"/>
</service>
</services>
当我从基于.NET的Web客户端或Fiddler发送带有希伯来语单词的查询时,查询参数会正确读取。从移动客户端(Android或iOS)发送,参数未正确解码,但显示为问号。
很容易说客户端配置错误,但我需要解决问题,而不是责备。我的配置中有什么东西可以解决问题吗?我没有客户端可以解决的调试服务器,查询必须转到客户的服务器,我可以通过写入事件管理器进行调试(任何人都记得printf?)。我可以使用这些工具来帮助纠正客户端的配置吗?
答案 0 :(得分:0)
我建议激活WCF跟踪和消息记录,如下所述:
https://msdn.microsoft.com/en-us/library/ms751526%28v=vs.110%29.aspx