2012-03-05 18 views
5

Jak mogę napisać usługę WWW WCF, który ma pojedynczy punkt końcowy, ale wiele umów serwisowych?Pojedynczy punkt końcowy z wieloma umowami serwisowymi

Przykład:

[ServiceContract] 
public interface IWirelessService 
{ 
    [OperationContract] 
    void AddWireless(); 
} 

[ServiceContract] 
public interface IWiredService 
{ 
    [OperationContract] 
    void AddWired(); 
} 

[ServiceContract] 
public interface IInternetService 
{ 
    [OperationContract] 
    void AddInternet(); 
} 

Pozwala myśleć jak IInternetService jest mój główny serwis wstęg i chcę, aby wdrożyć IwiredService i IWirelessService w nim, ale chcę zrobić wdrożenie w swoich classes.Is to możliwe? Jak mogę rozwiązać ten problem?

+1

Czy widzisz to pytanie? Myślę, że ma odpowiedź na to, co próbujesz zrobić ... [link] (http://stackoverflow.com/questions/334472/run-wcf-servicehost-with-multiple-contracts) –

+0

Dzięki, to jest faktycznie czego potrzebuję. – svlytns

Odpowiedz

3

Podałem poniżej przykład, który był to, czego szukasz?

[ServiceContract] 
public interface IWirelessService : IInternetService 
{ 
    [OperationContract] 
    Connection AddInternet(); 
} 

[ServiceContract] 
public interface IWiredService : IInternetService 
{ 
    [OperationContract] 
    Connection AddInternet(); 
} 

public class WirelessService : IWirelessService 
{ 
    public Connection AddInternet() 
    { 
    //Get Internet the wireless way 
    } 

} 

public class WiredService : IWiredService 
{ 
    public Connection AddInternet() 
    { 
    //Get Internet the wired way 
    } 
} 

[ServiceContract] 
public interface IInternetService 
{ 
    [OperationContract] 
    Connection AddInternet(); 
} 


[ServiceContract] 
public interface IEnterpriseApplicationService 
{ 
    [OperationContract] 
    void GetDataFromInternet(string url, IInternetService internetService); 
} 
public class InternetProviderService : IEnterpriseApplicationService 
{ 
    public HTMLResponse GetDataFromInternet(string url, IInternetService internetService) 
    { 
     Connection con = internetService.AddInternet(); 
     return con.GetContentFromURL(url); 
    } 
} 
+1

Z linku "http://stackoverflow.com/questions/334472/run-wcf-servicehost-with-multiple-contracts" otrzymuję rozwiązanie. Pomagają mi częściowo klas częściowe. Dziękujemy za pomoc. – svlytns