WCF - 公开参数化构造函数

时间:2011-08-01 14:32:53

标签: wcf

我有一个名为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的构造函数暴露给客户端,因为它涉及其他属性的一些基本初始化(此处未显示)。

请指导我如何实现这一目标。

谢谢!

2 个答案:

答案 0 :(得分:6)

除非您share assembly在客户端和服务器之间使用DTO,否则无法实现此目的。元数据(WSDL + XSD)只能描述DTO传输的数据。它们无法描述服务端DTO中定义的任何逻辑。

答案 1 :(得分:0)

您可以做的是为RecipientDto类创建第二个源文件,该文件包含具有“partial”关键字的类的第二个声明。添加构造函数并使用Visual Studio的“添加链接”功能将该文件包含在客户端项目中,该功能可在“添加现有项”对话框中找到。如果您只需要客户端上的构造函数,那么只需在客户端项目中直接定义第二个源文件。