DevTrain Startseite SharePoint Camp ? In 5 Tagen zum SharePoint Profi!  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: ASP.NET | Thema: Webservice und Interface | Von: Klaas Wedemeyer ( 27.07.2005 13:20)

Hi,
kann man beim Webservice ein Interface übergeben?
Ich möchte im Client eine Klasse des Servers benutzen, unabhängig ob diese Klasse direkt, über remoting oder einen Webservice angesprochen wird.
Beispiel:

Shared:
Interface ICustomerService
{
Customer GetCustomer();
}

[Serializable ()]
class Customer
{
public string Name;
}

Server:
using Shared;
class CustomerService:ICustomerService
{
public Customer GetCustomer()
{return new Customer();}
}
// wegen MarshalByRefObject und WebService kommen noch zwei Proxys dazu

Client:
using Shared;
{
...
{
Shared.Cusomer cus = GetCustomerService().GetCustomer();
}


Shared.ICustomerService GetCustomerService()
{
switch (VerbindungsType)
{
case direkt:
return (Shared.ICustomerService) new CustomerService();

case remoting:
(Shared.ICustomerService) RemotingHelper.GetObject(typeof (Shared.ICustomerService));
// schöne Idee aus der Dotnetpro

case webservice:
return (Shared.ICustomerService) new localhost.CustomerService();
// geht leider nicht
}
}
}

Das Problem ist, das der Proxy und die serialisierte Klasse beim Webservice nur zufällig wie das orginal aussieht (gleiche Namen). Bei einer Typeumwandlung gibt es leider einen Fehler.

Lösung 1: Die Automatisch generierten Dateien per Hand ändern -> Wehe wenn da jemand auf Referenzen aktualisieren clickt.
Lösung 2: Einen Proxy um den Proxy und die ser. Klasse legen -> das wird bei meheren Klassen aber ganz schön aufwendig.
Lösung 3: Jetzt kommst Du.

Danke schon mal, Klaas








Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Building und Connecting Know-how

© Copyright 2003 ppedv AG