Недавно я сделал службу WCF на С# и разместил ее на сервере с IIS 8.
При тестировании все отлично работало, и я смог успешно проверить все свои методы. Моя проблема возникает, когда я пытаюсь добавить ссылку на службу к этой службе WCF в отдельном проекте, единственные методы, которые она предоставляет в данный момент, - это async
методы, хотя я никогда не применял ни один из моих методов как async.
Примером метода может быть:
public string getName(User user)
{
return user.name;
}
Что-то такое же простое, как это будет работать, когда я тестировал его в Visual Studio, но когда я размещаю его в IIS и пытаюсь добавить ссылку на службу, единственным способом, с которым я могу позвонить или иметь доступ, является:
getNameAsync
Зачем это делать, хотя я никогда не реализовал его как async
? Кроме того, я не могу снять флажок "генерировать методы async", когда я добавляю ссылку на службу в первую очередь.
Есть идеи?
Изменение: Для справки, я пытаюсь проверить эти методы внутри приложения Windows 8.1, которое ссылается на службу.
Так генерируется код. Обычно вы также найдете и событие с именем GetNameCompleted, для которого вы подписались в таком клиентском коде (после создания метода ClientGetNameCompleted):
client.GetNameCompleted += ClientGetNameCompleted ;
В этом методе вы будете использовать результат службы. что-то вроде того:
private void ClientGetNameCompleted (object sender, GetNameCompletedEventArgs e)
{
if (e.Result != null)
{
// use the e.Result that contains the returned data;
}
}