我有一个名为RecipientDto的WCF DataContract定义为:
[DataContract]
public class RecipientDto
{
[DataMember]
public string Name
{
get;
private set;
}
[DataMember]
public string EmailAddress
{
get;
private set;
}
public RecipientDto(string name, string emailAddress)
{
Name = name;
EmailAddress = emailAddress;
//Initialize other property here
}
}
我希望将RecipientDto的构造函数暴露给客户端,因为它涉及其他属性的一些基本初始化(此处未显示)。
请指导我如何实现这一目标。
谢谢!
答案 0 :(得分:6)
除非您share assembly在客户端和服务器之间使用DTO,否则无法实现此目的。元数据(WSDL + XSD)只能描述DTO传输的数据。它们无法描述服务端DTO中定义的任何逻辑。
答案 1 :(得分:0)
您可以做的是为RecipientDto类创建第二个源文件,该文件包含具有“partial”关键字的类的第二个声明。添加构造函数并使用Visual Studio的“添加链接”功能将该文件包含在客户端项目中,该功能可在“添加现有项”对话框中找到。如果您只需要客户端上的构造函数,那么只需在客户端项目中直接定义第二个源文件。