Параметризованный конструктор в классе 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;
        }
    }
}

0 ответов

Другие вопросы по тегам