我的WCF服务获取请求如下所示:
所以基于param op ,响应类型应该更改。如何做到这一点?
答案 0 :(得分:2)
一种方式是WebGetAttribute
:http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.aspx
public class MyService
{
[OperationContract]
[WebGet(UriTemplate = "search?q={keyword}&op=xml")]
string GetXml(string keyword);
[OperationContract]
[WebGet(UriTemplate = "search?q={keyword}&op=json")]
string GetJson(string keyword);
}
注意:以上未经测试
答案 1 :(得分:2)
Here您有关于以不同格式设置响应的复杂文章。如果您使用的是WCF 4,我肯定会考虑在WebHttpBehavior
中设置automaticFormatSelectionEnabled="true"。它将根据客户端的HTTP Accept标头自动选择响应格式(XML或JSON)。