c# - 具有多个服务契约(Contract)的单个端点

标签 c# .net wcf wcf-endpoint servicecontract

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

例子:

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

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

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

假设 IInternetService 是我的主要 Web 服务,我想在其中实现 IwiredService 和 IWirelessService,但我想在它们的类中实现。这可能吗?我该如何解决这个问题?

最佳答案

我已经给出了以下示例,这是您要找的吗?

[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);
    }
 }

关于c# - 具有多个服务契约(Contract)的单个端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9567810/

相关文章:

c# - 自定义配置设置,自定义ClientSettingsSection

c# windows azure - 对实体、模型或 POCO 进行排队

.net - 在不同的项目中将 C# 调试为 Intel C++

c# - LogonUser 调用 - 用户是否需要该机器的登录权限?

c# - 使用 linq 根据日期之间获取结果

c# - 扩展 App.config 中的元素

c# - 使用相同的方法进行 PUT 和 POST

.net - 构建热插拔WCF服务库的最佳方式

c# - 重新加载 ServiceHost 的服务配置?

C# 如何在 char 数据类型中使用\character