Параметризованный конструктор в классе SoapHeader
Сценарий У меня есть веб-сервис (.asmx) в C#.Net. Я включил класс, который наследует от 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;
}
}
}