Почему я получаю сообщение об ошибке «не могу неявно преобразовать тип« void »в« строку »при вызове этого метода в моей веб-службе? - PullRequest
0 голосов
/ 31 марта 2019

Итак, у меня проблема в том, что, когда я вызываю метод внутри своей ссылки на службу WCF, я получаю красный подчеркнутый код «Не удается неявно преобразовать тип« void »в« строку »». Первоначально я предполагал, что случайно установил метод веб-сервиса на 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.

Почему я получаю эту ошибку? Метод задан как строка, и я пытаюсь присвоить его строке.

1 Ответ

2 голосов
/ 31 марта 2019

для асинхронного необходимо добавить событие GetDataCompleted и метод.

service1Client.GetDataCompleted += service1Client_GetDataCompleted;
public void service1Client_GetDataCompleted(object sender, wsService1.GetDataCompletedEventArgs e)
{
   string Data = e.Result.ToString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...