我正在開發的Windows Mobile,因此必須使用Web服務,而不是通過WCF枚舉。我有我通過網絡服務的正常工作,除了因爲這是一個枚舉一個屬性傳遞的業務對象。無論客戶端設置了什麼值,該值始終作爲默認值出現在服務器上。很迷茫:(不能.NET 2.0中的Web服務
這裏的服務器上定義的業務對象的代碼:
public enum TaskTypeEnum { GoodsReceipt, ImportCosting };
[Serializable, DataContractAttribute]
public class TaskContainer
{
[DataMemberAttribute]
public TaskTypeEnum TaskType { get; set; }
...
及這裏的設置該屬性在客戶端上的代碼:
var container = new TaskContainer();
container.TaskType = TaskTypeEnum.ImportCosting;
service.Save(container);
對於一些未知的原因當這個「容器」對象獲取到服務器時,任務類型屬性始終設置爲GoodsReceipt不管我把它設置在客戶端上。
感謝您的幫助。
感謝堆建議Arcturus。不幸的是,血腥的事情仍然沒有奏效。我真的不知道爲什麼。我有一個我用來運行Web服務的單元測試項目。我已將該服務添加爲「Web引用」,而不是「服務參考」。不知道這是否重要。 – 2012-08-14 10:29:16
如果您添加的屬性,請確保您更新服務引用。它不會自動執行。 – Arcturus 2012-08-14 13:23:31
馬克,你在開發Windows 7的手機嗎? [DataContractAttribute](http://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.datacontractattribute.aspx)功能看起來不像Window Mobile(.NET Framework 3.0之前)可用的功能, 。 – jp2code 2012-08-14 20:27:55