我正在C#中构建一个WCF,并且客户端同时使用它.由于某种原因,我无法获得返回int的方法.这是我的合同:
[ServiceContract]
public interface IMData
{
[OperationContract]
int ReturnAnInt();
[OperationContract]
String HelloWorld();
}
Run Code Online (Sandbox Code Playgroud)
这是我实现它的地方:
public class MData : IMData
{
public String HelloWorld()
{
return "Hello World";
}
public int ReturnAnInt()
{
return 5;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Visual Studio,而对于客户端,我将此WCF导入为Web引用.现在由于某种原因,当我声明一个MData实例并尝试调用HelloWorld时,没有问题,但是在调用ReturnAnInt时出现编译错误.
MData m = new MData();
String helloWorld = m.HelloWorld();
int result = m.ReturnAnInt();
Run Code Online (Sandbox Code Playgroud)
我使用ReturnAnInt得到的错误是:"方法没有重载'ReturnAnInt'需要0个参数"所以然后我鼠标悬停以查看Visual Studio期望的内容,并且它说该方法应该如下所示:
void MData.ReturnAnInt(out int ReturnAnIntResult, out bool ReturnAnIntResultSpecified)
Run Code Online (Sandbox Code Playgroud)
我一直在墙上敲打我的头几个小时,在谷歌上找不到任何东西,而且我的同事也感到困惑.为什么要添加两个不在定义中的参数,并更改返回类型?任何帮助将不胜感激.如果我遗漏任何有用的信息,我会道歉.