2012-03-05 53 views
5

如何编写具有单个端点但具有多个服务合同的WCF Web服务?具有多个服务合同的单个端点

例子:

[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) – 2012-03-05 13:58:35

+0

谢谢,这实际上是我需要的。 – svlytns 2012-03-05 14:12:36

回答

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 2012-06-13 17:44:20

相关问题