小编Mad*_*owe的帖子

WCF不会返回int

我正在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)

我一直在墙上敲打我的头几个小时,在谷歌上找不到任何东西,而且我的同事也感到困惑.为什么要添加两个不在定义中的参数,并更改返回类型?任何帮助将不胜感激.如果我遗漏任何有用的信息,我会道歉.

c# wcf

5
推荐指数
1
解决办法
2931
查看次数

标签 统计

c# ×1

wcf ×1