好的,在我继续之前,让我声明我的背景是网络脚本;所以应用程序对我来说很陌生。我对 .NET 知之甚少,而且我一直在滑冰,因为我的知识有限。
无论如何,在我的应用程序中,我有一个 OAuth httpRequest。请求本身运行良好,它从 Web API 获取我需要的数据。但是,问题是每当我单击激活请求的按钮时,我的程序都会冻结几秒钟,直到请求完成。我还有另一个请求,它每 60 秒自动完成一次。这当然意味着每 60 秒,我的程序就会冻结几秒钟。如何解决这个问题?
private string twitchCallAPI(string accessKey, string accessSecret, string endpointURI, string httpMethod)
{
OAuthHttpWebRequest httpRequest = new OAuthHttpWebRequest();
httpRequest.ConsumerToken = new OAuthToken { Token = this.twitchConKey, TokenSecret = this.twitchConSecret };
httpRequest.Token = new OAuthToken() { Token = accessKey, TokenSecret = accessSecret };
httpRequest.SetUri(endpointURI);
httpRequest.Method = httpMethod;
try
{
using (var response = httpRequest.GetResponse())
{
using (var reader = new StreamReader(response.GetResponseStream()))
{
return reader.ReadToEnd();
}
}
}
catch (WebException ex)
{
using (var reader = new StreamReader(ex.Response.GetResponseStream()))
{
System.Windows.MessageBox.Show(reader.ReadToEnd());
}
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.ToString());
}
return string.Empty;
}