如何在反序列化时初始化WCF代理类的本地字段

时间:2011-03-08 19:12:18

标签: silverlight wcf serialization

在我的Silverlight客户端中,我有一个通过设置WCF引用创建的分部类。我已经扩展了这个类,添加了一些RelayCommand属性。我需要初始化我通常在构造函数中执行的这些属性。然而,似乎没有调用构造函数,我认为这是VTS的结果。但是我也没有成功使用OnDeserialized属性。

初始化WCF类的客户端数据成员的规定方法是什么。

1 个答案:

答案 0 :(得分:1)

我已经创建了一个示例项目,一切都按预期工作。如果此代码没有帮助 - 发布您的数据合同和客户端代码。

namespace SilverlightApplication3.ServiceReference1
{
    public partial class SomeModel
    {
        public string ExtendedProperty { get; set; }

        [OnDeserializing]
        public void OnDeserializingMethod(StreamingContext context)
        {
            this.ExtendedProperty = "Ok";
        }
    }
}

服务方法电话:

var proxy = new ServiceReference1.Service1Client();
proxy.DoWorkCompleted += (s,e) => Debug.WriteLine(e.Result.ExtendedProperty); //Ok
proxy.DoWorkAsync();