![](/img/trans.png)
[英]Connecting to WCF Rest Service Application from powershell not working as expected
[英]ScriptIgnore not working on WCF REST service application
我启动了一个Visual Studio WCF Rest Service应用程序项目,在该项目中,我想要一个具有返回序列化对象的Json格式消息的服务,并且希望该对象的某些字段不被序列化。 我必须说,我对WCF的知识非常基础,并且我使用了Visual Studio中的Rest Service Application项目,因为这是一种快速实现我所需要的简单方法。
假设这是我拥有的对象:
public class BaseMessage
{
public string errorCode { get; set; }
public string errorMessage { get; set; }
}
这是我的代码
[WebGet(UriTemplate = "/v1/test",
ResponseFormat = WebMessageFormat.Json),OperationContract]
public BaseMessage Test()
{
return (new BaseMessage { errorCode = "000", errorMessage = "test" });
}
我到处都读到我需要做的就是将[ScriptIgnore]属性分配给我不想序列化的属性。 但是,如果我这样做,那是行不通的。 无论如何,我都将它们序列化。
实现目标的唯一方法就是以这种方式声明要返回的对象:
[Serializable]
public class BaseMessage
{
public string errorCode;
[NonSerialized]
public string errorMessage;
}
这样,我就可以根据需要对类进行序列化。 但这使我很烦恼,因为我可能做得不好。 我这样做对吗?
我认为您应该为数据对象使用[DataContract]属性,为对象成员使用[DataMember]属性
就像这里http://msdn.microsoft.com/en-us/library/ms733127.aspx
当您想忽略一个项目时; 您将其标记为[IgnoreDataMember]属性
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.