Как разрешить клиенту передавать мой объект через веб-сервис? - PullRequest
0 голосов
/ 12 ноября 2010

Извините, если это глупый вопрос, потому что я немного озадачен удаленным взаимодействием .NET и распределенным объектом.

Я хочу написать веб-сервис, и в одном из его методов я хочу, чтобы пользователь передал один экземпляр моего объекта в качестве параметра. Это значительно сократит количество параметров и поможет пользователю более эффективно вызывать этот метод. Я создаю некоторый класс, но при распространении их клиенту остается только имя класса, все свойства и методы исчезают, как это

public class CameraPackages
{
    private readonly List<CameraPackage> _packages;

    public CameraPackages()
    {
        _packages = new List<CameraPackage>();
    }

    public void AddNewCamera(CameraPackage package)
    {
        _packages.Add(package);
    }

    public void RemoveCamera(CameraPackage package)
    {
        if(_packages.Contains(package))
            _packages.Remove(package);
        else
            throw new ArgumentException();
    }
}

в это: (в Reference.cs)

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.3082")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
public partial class CameraPackages {
}

Как я могу разрешить пользователю использовать мой объект? Большое вам спасибо.

1 Ответ

0 голосов
/ 12 ноября 2010

Веб-службы будут сериализовать только общедоступные свойства, поэтому вы не можете сделать это (таким образом) с помощью веб-служб.

Вам нужно будет управлять списком объектов на стороне клиента, а затем отправлять данные в объект переноса (класс с просто свойствами).

Взгляните на .

...