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 が私のメインの Web サービスであり、その中に IwiredService と IWirelessService を実装したいと考えていますが、それらのクラスで実装したいと考えています。これは可能ですか? どうすればこの問題を解決できますか?

4

1 に答える 1

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);
    }
 }
于 2012-06-13T14:15:45.847 に答える