Быстрый фон. Использовал Flurl внутри библиотеки классов, которую я создал, чтобы упростить мой код для связи с облачным хранилищем api. Прекрасно работает при вызове библиотеки из консольного приложения, используемого для тестирования всех методов. Когда вы пытаетесь использовать ту же библиотеку классов с простой winform, тот же метод, который очень быстро возвращается с помощью консольного приложения, кажется, никогда не возвращает результат. При отладке код ниже попадает в строку «.GetAsync()», а затем никогда не возвращает результат, а также предотвращает продолжение сеанса отладки. Сообщение об ошибке никогда не выдается.Вызов Flurl из приложения winforms никогда не возвращает результат
Я нашел комментарий на сайте Flurl, что у кого-то, похоже, была такая же проблема, но, похоже, они не поставили вопрос здесь, как было рекомендовано. Было бы весьма полезно оценить все, что могло бы указать мне в правильном направлении.
Flurl код завернутый в методе асинхронного
public async Task<AccountInfo> Authorize()
{
string credentials = Convert.ToBase64String(Encoding.UTF8.GetBytes(Utils.ToNonSecureString(accountId) + ":" + Utils.ToNonSecureString(applicationKey)));
var result = await B2UrlType.Authorize
.WithHeader("Authorization", "Basic " + credentials)
.GetAsync()
.ReceiveJson<AccountInfo>();
return result;
}
Console приложение вызов код, который отлично работает
if (client == null)
{
var vault = new Vault();
Console.WriteLine("Retrieving account keys");
client = new Client(vault.GetAccountId(), vault.GetApiKey());
Console.WriteLine("Successfully retrieved account keys");
Console.WriteLine("Created new client");
client.Authorize().GetAwaiter().GetResult();
}
Winform код вызов, который не возвращает
private Client client;
public MainWindow()
{
InitializeComponent();
var vault = new Vault();
client = new Client(vault.GetAccountId(), vault.GetApiKey());
client.Authorize().GetAwaiter().GetResult();
}
Для тех, кто ищет решение этой проблемы, я нашел то, что сработало для меня [здесь] (http: // stackoverflow.com/вопросы/32501683/c-sharp-flurl-and-httpclient-no-response-from-rest-api) –