我在我的项目中创建了一个WCF服务,我在服务器端有一些类,我在服务器端和客户端通过引用使用。
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Runtime.Serialization;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
命名空间DataEntities {
[DataContract]
public class PlanEntriesData
{
private ObservableCollection<entry> entries;
public PlanEntriesData()
{
entries = new ObservableCollection<Entry>();
}
[DataMember]
public ObservableCollection<Entry> Entries
{
get { return entries; }
set { entries = value; }
}
public string helloWorld()
{
return "hello";
}
}
}
问题出在客户端,对象没有helloWorld()方法。任何人都可以帮我解决方法吗?
最好的问候 sushiBite答案 0 :(得分:0)
不发送方法,仅发送属性。目前无法在DataContract上提供跨WCF边界的方法的实现细节。
如果您希望能够以这种方式从客户端操作实体,则需要将HelloWorld操作添加到 ServiceContract 。
public IMyService
{
string HelloWorld(PlanEntriesData data);
}
我建议稍微阅读一下服务导向和WCF。我发现“Windows Communication Step-by-Step”对于初学者来说是一本很好的阅读。
答案 1 :(得分:0)
您可能需要在服务类本身的WCF主机项目接口和实现中添加 [OperationContract] 以使其成为可能可供客户使用。