Я начинаю HubConnection. Сначала я получаю новый экземпляр HubConnection, . После этого я создаю новый IHubProxy с именем = «fileHub», настолько хороший.Задание ожидания не выполнено
Моя проблема находится в (или в) ожидаемой функции ContinueWith, я пытаюсь запустить Connection и писать на консоль wheater, начало было успешным или нет. Соединение .Start() успешно и «Подключено» записывается на консоль. Код, добавленный после Console.WriteLine («Connected»), выполнен без проблем.
Но Задача никогда не заканчивается, поэтому класс Client, вызывающий метод HandleSignalRAsync(), ждет завершения неудачно.
Добавление возврата; или task.dispose(); не решает мою проблему.
public static async Task HandleSignalRAsync()
{
connection = new HubConnection("http://localhost:12754");
myHub = connection.CreateHubProxy("fileHub");
await connection.Start().ContinueWith(
task =>
{
if (task.IsFaulted)
{
var ex = task.Exception.GetBaseException();
Console.WriteLine("There was an error opening the connection: {0}", ex);
}
else
{
Console.WriteLine("Connected");
}
});
}
я называю метод с TaskAwaiter в другом классе моего решения:
Functions.HandleSignalRAsync().GetAwaiter().GetResult();
называя его:
Functions.HandleSignalRAsync().Wait();
не работает, тоже.
Почему вы используете 'ContinueWith', когда вы уже используете' await'? Код после 'await' * является * продолжением. Если вы хотите поймать Исключения, заверните вызов в обработчик исключений –