所以我遇到的问题是,当我在我的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.
为什么我会收到这个错误?该方法设置为字符串,我试图将其分配给字符串。
对于异步,您需要添加事件GetDataCompleted和方法。
service1Client.GetDataCompleted += service1Client_GetDataCompleted;
public void service1Client_GetDataCompleted(object sender, wsService1.GetDataCompletedEventArgs e)
{
string Data = e.Result.ToString();
}