我正在将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应用程序中看不到所有方法?
感谢。
答案 0 :(得分:0)
检查出来:https://stackoverflow.com/a/720389/487940
您基本上希望将2个接口组合到一个接口中,如下所示:
public interface IMyInterface : IInterface1, IInterface2