如何让客户端通过webservice传递我的对象?

问题描述:

对不起,如果这是愚蠢的问题,因为我有点困惑.NET远程处理和分布式对象。如何让客户端通过webservice传递我的对象?

我想写一个webservice,并且在它的一个方法中,我希望用户传递一个我的对象的实例作为参数。这将大大减少参数数量,并帮助用户更有效地调用此方法。我创造了一些类,但它们分发给客户端时,唯一的类名仍然存在,所有属性和方法都走了,就这样

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 { 
} 

我该怎么做才能让用户使用我的对象? 非常感谢。

Web服务将只序列化公共属性,所以你不能这样做(以这种方式)使用Web服务。

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

有一个look at this

+0

对不起,我认为这是一个关于web服务的问题 - 不是远程处理,这是不同的。你有没有考虑过使用WCF? - 你最好学习,而不是这些旧技术。 – 2010-11-12 10:29:26

+0

谢谢你的建议。我计划学习WCF,但现在不是,下周一我有截止日期 – Vimvq1987 2010-11-12 15:57:07