从另一个应用程序中的 HttpRequestException 获取值
Get Values from HttpRequestException in another application
我从一个网络应用程序发送 Exception
并在另一个网络应用程序中获取它。
在这种情况下,如何从 HttpRequestException
获取值?
发送自:
context.Response = new HttpResponseMessage(apiError.StatusCode)
{
Content = new ObjectContent<ApiError>(apiError,
new JsonMediaTypeFormatter(), @"application/json")
};
return context;
进入另一个:
catch (HttpRequestException e)
{
this.logger.LogError(
string.Format("Ошибка запроса {0}", requestUri.AbsoluteUri),
LogCategoryRepository.ApiCashdesk,
e);
throw;
}
好的。您只需创建一个 class:
public class ErrorDetails
{
public string Details { get; set; }
}
并使用它:
try
{
using (var response = await client.SendAsync(request).ConfigureAwait(false))
{
if(!response.IsSuccessStatusCode)
{
***var error = await response.Content.ReadAsAsync<ErrorDetails>().ConfigureAwait(false);***
throw new HttpRequestException(error.Details);
}
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadAsAsync<TResponse>().ConfigureAwait(false);
return result;
}
}
我从一个网络应用程序发送 Exception
并在另一个网络应用程序中获取它。
在这种情况下,如何从 HttpRequestException
获取值?
发送自:
context.Response = new HttpResponseMessage(apiError.StatusCode)
{
Content = new ObjectContent<ApiError>(apiError,
new JsonMediaTypeFormatter(), @"application/json")
};
return context;
进入另一个:
catch (HttpRequestException e)
{
this.logger.LogError(
string.Format("Ошибка запроса {0}", requestUri.AbsoluteUri),
LogCategoryRepository.ApiCashdesk,
e);
throw;
}
好的。您只需创建一个 class:
public class ErrorDetails
{
public string Details { get; set; }
}
并使用它:
try
{
using (var response = await client.SendAsync(request).ConfigureAwait(false))
{
if(!response.IsSuccessStatusCode)
{
***var error = await response.Content.ReadAsAsync<ErrorDetails>().ConfigureAwait(false);***
throw new HttpRequestException(error.Details);
}
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadAsAsync<TResponse>().ConfigureAwait(false);
return result;
}
}