Mar*_*ans 3 c# enums web-services windows-mobile
我正在为Windows Mobile开发,因此必须使用Web服务而不是WCF.我有一个业务对象,我通过Web服务传递,除了一个枚举属性,它工作正常.无论客户端将其设置为什么值,该值始终作为默认值显示在服务器上.非常困惑 :(
这是服务器上定义的业务对象中的代码:
public enum TaskTypeEnum { GoodsReceipt, ImportCosting };
[Serializable, DataContractAttribute]
public class TaskContainer
{
[DataMemberAttribute]
public TaskTypeEnum TaskType { get; set; }
...
Run Code Online (Sandbox Code Playgroud)
这是客户端上设置此属性的代码:
var container = new TaskContainer();
container.TaskType = TaskTypeEnum.ImportCosting;
service.Save(container);
Run Code Online (Sandbox Code Playgroud)
由于某个未知原因,当此"容器"对象到达服务器时,无论我在客户端上将其设置为什么,TaskType属性始终设置为GoodsReceipt.
谢谢您的帮助.
您需要确保您的枚举还具有DataContract,否则它将不会被序列化,并且每个成员必须具有EnumMember属性
[DataContract]
public enum TaskTypeEnum
{
[EnumMember]
GoodsReceipt,
[EnumMember]
ImportCosting
}
Run Code Online (Sandbox Code Playgroud)
另请参阅:http://msdn.microsoft.com/en-us/library/aa347875.aspx
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |