栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将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。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号