添加具有2个接口的Web服务

时间:2014-02-13 18:02:19

标签: c# web-services interface

我正在将Web服务从VB更新为C#。这是一个WCF服务。 Web服务实现2个接口。 当我将Web服务添加到测试应用程序时,只能访问其中一个接口。 当我尝试从第二个接口调用方法时,无法识别方法签名。

这适用于VB,我希望我能在C#中做同样的事情。 这是Web服务类的实现:

PayService接口:

namespace PayService
{
    [ServiceContract (Namespace...)]
    public interface IPayService
    {
        //Initiate a credit card authorization.
        [OperationContract(IsOneWay = true)]
        void Authorize(...12 arguments here...);
}

PayService2接口:

namespace PayService2
    {
        [ServiceContract (Namespace...)]
        public interface IPayService
        {
            //Initiate a credit card authorization.
            [OperationContract(IsOneWay = true)]
            void Authorize(...13 arguments here...);
    }


public partial class PayService : IPayService, IPayService2
{
  Authorize(...there are 12 arguments here)
  Authorize(...there are 13 arguments here)
  ...more methods but they are not a problem.
}

调用应用程序只是用于测试Web服务的Web应用程序。

//Create instance of PayService
PayService.PayServiceClient payService = new PayService.PayServiceClient();
payService.Authorize(...12 arguments)  //this one works fine

payService.Authorize(...13 arguments)  //this one is not recognized

有没有人知道为什么在使用PayService的Web应用程序中看不到所有方法?

感谢。

1 个答案:

答案 0 :(得分:0)

检查出来:https://stackoverflow.com/a/720389/487940

您基本上希望将2个接口组合到一个接口中,如下所示:

public interface IMyInterface : IInterface1, IInterface2