如何将Json.Net设置为WCF REST服务的默认序列化器

如何将Json.Net设置为WCF REST服务的默认序列化器,第1张

如何将Json.Net设置为WCF REST服务的默认序列化器

扩展编码器和序列化器的使用(请参阅http://msdn.microsoft.com/en-
us/library/ms733092.aspx
)或其他扩展WCF的方法(例如使用

DataContractSerializerOperationBehavior
)非常有趣,但是对于您的特殊问题,它更容易解决方法。

如果您已经使用

Message
type返回使用WCF4返回的结果,则可以执行以下 *** 作:

public Message UpdateCity(string pre, City city){    MyResponseDataClass message = CreateMyResponse();    // use JSON.NET to serialize the response data    string myResponseBody = JsonConvert.Serialize(message);    return WebOperationContext.Current.CreateTextResponse (myResponseBody,     "application/json; charset=utf-8",     Encoding.UTF8);}

如果出现错误(如

HttpStatusCode.Unauthorized
HttpStatusCode.Conflict
)或在其他情况下需要设置HTTP状态代码(如
HttpStatusCode.Created
),则可以继续使用
WebOperationContext.Current.OutgoingResponse.StatusCode

另外,您也可以返回a

Stream
(请参见http://blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-
raw-programming-model-
web.aspx和http:// msdn。 microsoft.com/en-
us/library/ms732038.aspx),而不
Message
返回没有Microsoft
JSON序列化程序进行其他默认处理的任何数据。如果是WCF4,则可以使用
CreateStreamResponse
(请参见http://msdn.microsoft.com/zh-
cn/library/dd782273.aspx)代替
CreateTextResponse
。如果要使用此技术来生成响应,请不要忘记在写入流后将流位置设置为0。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5174621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-19
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存