-1

我已经成功地使用 WCF 服务发送对象,但是有一个类不起作用。WCF 服务将构建,我可以调用在 WCF 测试客户端中返回对象的函数,但是一旦我更新了作为使用者的项目中的服务引用,我就无法使用该服务。

这是课程的副本

//[Serializable]
[DataContract]
public class TillCompanySystem : INotifyPropertyChanged
{

    // Internal private member variables
    private String _sTillCompanySystemID = "";
    private String _sValue = "";

    // Events
    //[field: NonSerialized]
    public event PropertyChangedEventHandler PropertyChanged;

    // Constructor
    public TillCompanySystem()
    {

    }

    // Public properties
    #region Public Properties

    // Public properties
    [DataMember]
    public String TillCompanySystemID
    {
        get { return _sTillCompanySystemID; }
        set
        {
            _sTillCompanySystemID = value;
            OnPropertyChanged(new PropertyChangedEventArgs("TillCompanySystemID"));
        }
    }

    [DataMember]
    public String Value
    {
        get { return _sValue; }
        set
        {
            _sValue = value;
            OnPropertyChanged(new PropertyChangedEventArgs("Value"));
        }
    }

    // End region public properties
    #endregion

    // All objects need to support ToString
    public override String ToString()
    {
        return TillCompanySystemID.ToString();
    }

    // Public Events
    public void OnPropertyChanged(PropertyChangedEventArgs e)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, e);
    }
}

我真的不知道为什么这不起作用。我能想到的这个类和其他类之间的唯一区别是它以前是可序列化的,但我现在看不出这会有什么不同。但是,如果我从元数据中查看该类,则该类似乎仍然是可序列化的。我已经尝试重建一切,但并没有解决它。

有没有人有任何想法?

提前致谢

埃德

4

1 回答 1

0

它不起作用的原因是有人让项目引用了数据层项目的编译版本,这意味着这个类总是可以访问的,我已经能够向项目添加新类并且它找到了它们,但是它不会重建这个特定的类以使其成为数据契约,因为它以编译形式存在。

于 2013-07-10T10:18:40.973 回答