gpt4 book ai didi

visual-studio-2010 - 只读模型属性未在 Web API 中序列化

转载 作者:行者123 更新时间:2023-12-04 14:47:12 24 4
gpt4 key购买 nike

根据标题,我看到我的只读模型属性未在我的 Web API 项目中序列化。 MVC 4 Web API,VS2010。

我看过很多帖子,比如 this stackoverflow question表示 MVC 4 Web API 测试版 不支持只读属性的 JSON 序列化。但是许多其他引用资料表明最终版本使用 JSON.NET 而不是 DataContractJsonSerializer,因此应该解决该问题。

这个问题有没有解决?如果没有,我是否被迫放入假的 setter 只是为了获得序列化?

更正,它 似乎可以使用 JSON(抱歉!),但 XML 显示了这个问题。与以前相同的问题,但在 XML 序列化的上下文中。

最佳答案

默认的 JSON 序列化程序现在是 Json.NET。因此,只读属性序列化应该可以工作,而您根本无需做任何事情。

对于 XML,在 4.5 中,我们将此标志添加到 DataContractSerializer:

http://msdn.microsoft.com/en-us/library/vstudio/system.runtime.serialization.datacontractserializersettings.serializereadonlytypes.aspx

你应该能够写出这样的东西:

config.Formatters.XmlFormatter.SetSerializer(myType, new DataContractSerializer(myType, new DataContractSerializerSettings() { SerializeReadOnlyTypes = true });

将此代码放在由 GlobalConfiguration.Configure 调用的函数中在 Application_Start .默认情况下,这将是 WebApiConfig.Register() .

关于visual-studio-2010 - 只读模型属性未在 Web API 中序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com