C# 我的WCF服务赢得了';t返回一个特定的类
我一直在使用WCF服务成功地发送对象,但有一个类不起作用。WCF服务将生成,我可以调用在WCF测试客户端中返回对象的函数,但一旦我更新了作为使用者的项目中的服务引用,我就不能使用该服务 这是这门课的复印件C# 我的WCF服务赢得了';t返回一个特定的类,c#,wcf,C#,Wcf,我一直在使用WCF服务成功地发送对象,但有一个类不起作用。WCF服务将生成,我可以调用在WCF测试客户端中返回对象的函数,但一旦我更新了作为使用者的项目中的服务引用,我就不能使用该服务 这是这门课的复印件 //[Serializable] [DataContract] public class TillCompanySystem : INotifyPropertyChanged { // Internal private member variables private Str
//[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);
}
}
我真的不知道为什么这样不行。我能想到的这个类和其他类之间的唯一区别是,以前它是可序列化的,但现在我看不出这有什么区别。但是,如果我从元数据中查看该类,则该类仍然可以序列化。我试着重建一切,但这并没有解决它
有人有什么想法吗
提前谢谢
Ed它不起作用的原因是有人让项目引用了datalayer项目的编译版本,这意味着这个类总是可以访问的,我能够向项目中添加新类,它发现了它们,但它不会重建这个特定的类,使其成为一个数据契约,因为它以编译的形式存在。您不能以什么方式使用该服务?您是否收到错误?我尝试了一个快速测试应用程序,实体按预期返回。当然,只有公共属性(DataMembers)被序列化。i、 e.
ToString()
和OnPropertyChanged
的服务器实现没有被拉到客户端代理类。Visual Studio在代理生成期间识别INotifyPropertyChanged
接口,并在代理中重新实现该接口。当我更新服务引用时,没有可用的服务。我右键单击服务引用并在对象浏览器中查看,该服务不可用。我以前在向服务添加新函数时看到过这一点,但没有创建类datacontracts。如何从服务返回此类?我的意思是,是否可以显示返回此类的方法(或者可能接受它作为参数)?