2012-03-05 12 views
5

मैं डब्लूसीएफ वेब सेवा कैसे लिख सकता हूं जिसमें सिंगल एंडपॉइंट है लेकिन एकाधिक सेवा अनुबंध है?एकाधिक सेवा अनुबंधों के साथ सिंगल एंडपॉइंट

उदाहरण:

[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

क्या आपको यह प्रश्न दिखाई दिया? मुझे लगता है कि इसका जवाब है कि आप क्या करने की कोशिश कर रहे हैं ... [link] (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

संबंधित मुद्दे