2012-03-05 34 views
5

Làm cách nào để tôi có thể viết một dịch vụ web WCF có một điểm cuối duy nhất nhưng nhiều hợp đồng dịch vụ?Điểm cuối duy nhất với nhiều hợp đồng dịch vụ

Ví dụ:

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

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

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

Hãy suy nghĩ như IInternetService là dịch vụ webs chính của tôi và tôi muốn thực hiện IwiredService và IWirelessService trong nó, nhưng tôi muốn làm thực hiện trong classes.Is họ này có thể? Làm thế nào tôi có thể giải quyết vấn đề này?

+1

Bạn có thấy câu hỏi này không? Tôi nghĩ rằng nó có câu trả lời cho những gì bạn đang cố gắng làm ... [link] (http://stackoverflow.com/questions/334472/run-wcf-servicehost-with-multiple-contracts) –

+0

Cảm ơn, đó là thực sự tôi cân gi. – svlytns

Trả lời

3

Tôi đã đưa ra ví dụ dưới đây là những gì bạn đang tìm kiếm?

[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

Từ liên kết "http://stackoverflow.com/questions/334472/run-wcf-servicehost-with-multiple-contracts" tôi nhận được giải pháp. Các lớp học một phần giúp tôi. Cảm ơn bạn đã trợ giúp. – svlytns

Các vấn đề liên quan