显然我的教育失败了,因为我没有意识到 C# 中的方法不能被序列化。(很高兴知道。)
我正在尝试创建一个返回我创建的简单类的 WCF 服务。问题是这个简单的类包含我想要公开的方法,而我的服务的调用者将无法访问它们(假设它们没有包含类声明的 .dll)。
public class Simple
{
public string Message { get; set; }
private const string _Hidden = "Underpants";
public string Hidden
{
get { return _Hidden; }
}
public string GetHidden()
{
return _Hidden;
}
}
我设置了一个 WCF 服务(我们称之为 MyService)来返回我的 Simple 类的一个实例。令我沮丧的是,我只恢复了部分课程。
public void CallService()
{
using (var client = new MyService.Serviceclient())
{
Simple result = client.GetSimple();
string message = result.Message; // this works.
string hidden = result.Hidden; // this doesn't.
string fail = result.GetHidden(); // Underpants remains elusive.
}
}
是否有任何类型的解决方法,我可以在我的类上设置一个属性或方法,任何调用我的服务的人都可以访问这些属性或方法?如何处理仅存在于服务中的类中设置的常量或其他方法?