所以我遇到的问题是,当我在WCF服务引用中调用一个方法时,得到带红色下划线的代码“无法将类型'void'隐式转换为'string'”。最初,我以为我不小心将webservice方法设置为public void GetData()
,但是经过进一步的检查,我知道并非如此。我想调用的WCF方法是:
public string GetData()
{
return "StringRecieved";
}
运营合同的定义如下:
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData();
}
我调用该方法的位置在另一个应用程序中。
Service1Client.EndpointConfiguration endpointConfiguration = new Service1Client.EndpointConfiguration();
Service1Client service1Client;
service1Client = new Service1Client(endpointConfiguration);
string Data = service1Client.GetDataAsync(); //This is where I'm getting my error.
为什么会出现该错误?该方法设置为字符串,我正在尝试将其分配给字符串。
答案 0 :(得分:2)
对于异步,您需要添加事件GetDataCompleted和方法。
service1Client.GetDataCompleted += service1Client_GetDataCompleted;
public void service1Client_GetDataCompleted(object sender, wsService1.GetDataCompletedEventArgs e)
{
string Data = e.Result.ToString();
}