如何编写具有单个端点但具有多个服务协定的 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/