2010-07-29 4 views
0

J'ai un service Web qui accepte et renvoie une classe personnalisée. Le problème est que le formulaire qui appelle la méthode de service Web requiert l'instanciation de webservice.myClass à la place de la copie locale de myClass? Par exemple:Utilisation de la classe locale dans le service Web

**myservice:** 
class myclass 
{ 
... 
} 

class myservice 
{ 
[WebMethod] 
public void mymethod(myclass cls) 
{ 
cls.xxx = yyy; 
returns cls 
} 
} 

**caller form:** 
class myclass 
{ 
... 
} 

class caller 
{ 
private void call() 
{ 
myservice.myclass cls = new myservice.myclass(); //<------------------- 
cls = myservice.mymethod(cls); 
} 
} 

Il faut myservice.myclass et je voudrais utiliser maclasse local, ce qui est exactement la même chose. Est-ce possible?

Répondre

0

Si je comprends ce que vous demandez, cela a été demandé avant:

Force .NET webservice to use local object class, not proxy class

Bien ce type a également qu'il a demandé encore avant cela aussi. Peut-être que celui-ci est difficile pour SO à analyser dans les suggestions :)

Et croyez-moi, cela a été demandé beaucoup fois partout sur Internet. C'est l'une de mes plus grandes plaintes sur la façon dont les services Web classiques sont gérés dans .NET et Visual Studio, et l'un des moteurs de mon passage aux services de demande/réponse (et le projet Agatha).

0

Comment est-il différent de:

class caller 
{ 
    private void call() 
    { 
     local.myclass cls = new myservice.myclass(); //<------------------- 
     cls = myservice.mymethod(cls); 
    } 
} 

Quel est le besoin spécifique? L'instanciation est toujours locale. Si vous avez besoin de conserver l'instance, vous pouvez la passer en paramètre externe.

Questions connexes