我有一个用于存储数据的 API,我正在通过我的 mvc 应用程序使用它。身份验证过程、存储数据和其他一切工作正常。问题是我正在尝试处理将来可能发生的一些错误或异常。其中之一是处理我的应用程序无法连接到我的 Web api 并引发错误或将用户引导到其他地方的情况。
我的使用 api 的 Web 应用程序控制器:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("https://localhost:44304");
HttpContent content = new FormUrlEncodedContent(
new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("username", lgv.username),
new KeyValuePair<string,string>("password", lgv.password),
new KeyValuePair<string,string>("grant_type","password"),
});
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
content.Headers.ContentType.CharSet = "UTF-8";
/*this is the line where all the parameters get passed and validates everything*/
var resultDisplay = await client.PostAsync("token", content);
/* **************************************************************************** */
if (resultDisplay.IsSuccessStatusCode)
{
var loginData = await resultDisplay.Content.ReadAsAsync<LoginResponseViewModel>();
Session["access_token"] = loginData.Access_Token;
}
所以我尝试的是:
HttpException hc = new HttpException();
switch(hc){
case 200: return view("success"); /* since successful code is 200*/
break;
case 400: return view("error");
break;
}
但它似乎不起作用,因为这段代码只检查应用程序的状态而不是 api 的状态......所以我的问题是,如果我的 api 没有运行,我该如何处理它?