2010-11-12 26 views
0

Désolé si c'est une question stupide, parce que je suis un peu confus au sujet de .NET Remoting et objet distribué.Comment autoriser le client à passer mon objet via webservice?

Je veux écrire un service Web, et dans l'une de ses méthodes, je veux que l'utilisateur passe en paramètre une instance de mon objet. Cela réduira considérablement le nombre de paramètres et aidera l'utilisateur à appeler cette méthode plus efficacement. Je crée une classe, mais quand les distribuer au client, seul le nom de la classe reste, sont partis toutes les propriétés et méthodes, comme ce

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(); 
    } 
} 

dans ce: (en 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 { 
} 

Comment puis-je faire pour permettre à l'utilisateur d'utiliser mon objet? Merci beaucoup.

Répondre

0

Les services Web ne sérialisent que les propriétés publiques, vous ne pouvez donc pas le faire (de cette manière) à l'aide de services Web.

Vous devrez gérer votre liste d'objets côté client, puis envoyer les données dans un objet de transfert (une classe avec juste des propriétés).

Avoir un look at this.

+0

Désolé, je suppose que c'est une question sur les services Web - pas à distance, ce qui est différent. Avez-vous envisagé d'utiliser WCF? - vous feriez mieux d'apprendre cela, plutôt que ces technologies plus anciennes. –

+0

Nous vous remercions de votre suggestion. Je prévois d'apprendre WCF, mais pas maintenant, quand j'ai une date limite le lundi prochain – Vimvq1987