SoapHeader类中的参数化构造函数

时间:2016-04-12 10:23:30

标签: c# web-services asmx soap-client soapheader

场景我在C#.Net中有一个WebService(.asmx)。我包含了一个继承自SoapHeader类的类。我有一个参数化的构造函数,但由于我忘了包含无参数构造函数,当我在客户端更新WebService代理时,它生成了以下错误:

   Error: User cannot be serialized because it does not have a parameterless constructor.

所以我立即包含了无参数构造函数,问题就此结束了。

问题
Q1。我认为序列化发生在请求和响应期间,是类型'在这里序列化(我不认为它可以作为序列化的对象)? Q2。我无法在客户端访问参数化构造函数(给出错误:不包含带1个参数的构造函数)。那是为什么?

它是一个用于学习目的的简单课程:

public class User : SoapHeader
{
    private string strUid;

    public User(string id)  // cannot access
    {
        strUid = id;
    }

    public User() { }   // included later

    public string UserID
    {
        get
        {
            return strUid;
        }
        set
        {
            strUid = value;
        }
    }
}

0 个答案:

没有答案