Я делаю вызов API для NewsAPI и заставил его работать в командной строке. Теперь я помещаю свое заявление в приложение Windows Form. У меня есть кнопка для работы (покажите мне окно сообщения при нажатии), но когда я помещаю код для вызова API в кнопку, код не знает, что делать, и просто застревает. Код не обрабатывает sh, но вместо этого он застревает при вызове API и просто не знает, что делать (и не застревает при вызове API, так как он делает это правильно в команде линия).
Вот мой код с удаленным ключом API:
using System;
using System.Windows.Forms;
using NewsAPI;
using NewsAPI.Models;
using NewsAPI.Constants;
namespace api_app
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void goButton_Click(object sender, EventArgs e)
{
var newsApiClient = new NewsApiClient("api key");
string input = textBox1.Text;
var articlesResponse = callAPI(input, newsApiClient);
MessageBox.Show(input);
if (articlesResponse.Status == Statuses.Ok)
{
MessageBox.Show("ok");
foreach (var article in articlesResponse.Articles)
{
// do stuff
}
}
else MessageBox.Show("no");
}
private ArticlesResult callAPI(string input, NewsApiClient newsApiClient)
{
var articlesResponse = newsApiClient.GetEverything(new EverythingRequest
{
Q = input,
SortBy = SortBys.Popularity,
Language = Languages.EN,
From = new DateTime(2020, 4, 27)
});
return articlesResponse;
}
}
}
А что касается "зависания", я go шаг за шагом использую отладчик Visual Studio. Код прекрасно работает в командной строке, но отладчик просто не может пройти мимо создания переменной articleResponse. Код отлично работает вне кнопки, но не в кнопке.