У меня есть приложение WPF, которое я использую для извлечения данных из веб-API.
После входа в систему я сохраняю токен и на основании этого вы можете получить доступ к API или нет.
Случай 1: Войдите, получите токен, нажмите кнопку, чтобы получить данные:
private async void button1_Click(object sender, RoutedEventArgs e)
{
getMovies();
}
Метод реализован
private void getMovies()
{
var accessToken = token;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
client.BaseAddress = new Uri("http://localhost:5001/movies/");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync("get").Result;
if (response.IsSuccessStatusCode)
{
MessageBox.Show(response.Content.ReadAsStringAsync().Result);
}
else
{
MessageBox.Show("Movies not Found");
}
}
И я получу обратно 401.
Случай 2:Я вызываю API из метода Start (тот же код, что и выше): получить данные из API
public async void Start(object sender, RoutedEventArgs e)
{
getMovies();
}
Как это возможно?И как я могу получить доступ к своему API вне метода Start
?