如何允许客户端通过Web服务传递我的对象?

时间:2010-11-12 10:13:08

标签: asp.net web-services object remoting

很抱歉,如果这是一个愚蠢的问题,因为我对.NET远程处理和分布式对象有点困惑。

我想编写一个web服务,并且在其中一个方法中,我希望用户将一个我的对象的实例作为参数传递。它将大大减少参数数量,并帮助用户更有效地调用此方法。我创建了一些类,但是当它们分发给客户端时,只剩下类名,所有属性和方法都消失了,就像这样

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 :(得分:0)

Web服务只会序列化公共属性,因此您无法使用Web服务(以这种方式)。

您需要管理客户端对象列表,然后在传输对象(仅具有属性的类)中发送数据。

拥有look at this