如何根据请求标头将ResponseFormat从XML更改为JSON

时间:2016-01-15 11:40:04

标签: vb.net wcf rest

我有一个用vb.net编写的REST服务,默认情况下,Response会以XML格式返回,除非我设置ResponseFormat:=WebMessageFormat.Json。所以我希望我可以更改ResponseFormat,具体取决于用户传入的标头。所以我按照这样对<WebGet>进行编码:

<WebGet(UriTemplate:="UserNames/", BodyStyle:=WebMessageBodyStyle.WrappedResponse)>
Public Function UserNamesList() As List(Of UserNames)

    'check the Headers for either XML or Json and then set the ResponseFormat
    Return intUserNamesList()

End Function

那么有没有办法在ResponseFormat声明之外设置<WebGet>或等效内容?

1 个答案:

答案 0 :(得分:0)

想想我已经解决了这个问题。我可以在我的函数

中使用WebOperationContext.Current.OutgoingResponse.Format = WebMessageFormat.XmlWebOperationContext.Current.OutgoingResponse.Format = WebMessageFormat.Json