场景我在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;
}
}
}