2012-03-05 2 views
5

단일 끝 점이 있지만 여러 서비스 계약이있는 WCF 웹 서비스를 작성하려면 어떻게해야합니까?여러 서비스 계약이있는 단일 끝점

예 :

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

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

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

이 IInternetService처럼 내 주요 웹 서비스를 생각하자 그리고 난 그것에 IwiredService 및 IWirelessService을 구현하려는, 그러나 나는 그들의 classes.Is이 가능한가에 구현하고 싶어? 이 문제를 어떻게 해결할 수 있습니까?

+1

이 질문이 있으십니까? 나는 그것이 당신이 무엇을하려고하는지에 대한 대답을 가지고 있다고 생각한다. [링크] (http://stackoverflow.com/questions/334472/run-wcf-servicehost-with-multiple-contracts) –

+0

고마워, 실제로 내가 필요한 것. – svlytns

답변

3

나는 당신이 찾고 있던 아래의 예를 주었다.

[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

"http://stackoverflow.com/questions/334472/run-wcf-servicehost-with-multiple-contracts"링크에서 솔루션을 얻습니다. 사실 부분 수업이 도움이됩니다. 도움을 요청합니다. – svlytns