0

我有一个 WebAPI 控制器,它与具有属性属性的模型类一起使用,以将 C# 命名转换为更像 JavaScript 的命名。例如

    [DataMember(Name = "posInfo")]
    public string PositionInformation { get; set; }

如果我通过电线公开这些值,一切正常。现在我尝试调用服务器端的控制器在应用程序启动时引导一些初始值。但是,如果我在本地调用控制器,则 [DataMember] 属性不会“解析”。一切都以 C# 命名属性返回。

[DataContract][DataMember] 什么时候开始,如果我在本地调用我的控制器,如何使用它?

4

1 回答 1

1

DataMember 将在您的对象被反序列化时使用。因此,如果您使用 web-api 通过网络发送您的对象,您的客户端应该以posInfo的形式接收该属性。如果您通过 .net 在本地引用您的对象(例如,在库或项目引用中),那么您将通过其名称PositionInformation来引用该属性。

根据您正在执行的序列化类型,可能未翻译此属性或不支持 DataMember 属性。FWIW,Web API 的内置 XML 和 JSON 序列化程序支持 DataMember 和 DataContract 属性。

有关 DataMember 属性如何工作的更多信息,请参见MSDN 站点

于 2012-12-17T20:42:23.763 回答