C# 从另一个应用程序中的HttpRequestException获取值
我从一个web应用程序发送C# 从另一个应用程序中的HttpRequestException获取值,c#,model-view-controller,httpresponsemessage,C#,Model View Controller,Httpresponsemessage,我从一个web应用程序发送异常,然后在另一个web应用程序中获取它。 在这种情况下,如何从HttpRequestException获取值 发送人: context.Response = new HttpResponseMessage(apiError.StatusCode) { Content = new ObjectContent<ApiError>(apiError, new JsonMediaTypeFormatter(), @"application/j
异常
,然后在另一个web应用程序中获取它。
在这种情况下,如何从HttpRequestException
获取值
发送人:
context.Response = new HttpResponseMessage(apiError.StatusCode)
{
Content = new ObjectContent<ApiError>(apiError,
new JsonMediaTypeFormatter(), @"application/json")
};
return context;
嗯。您只需创建一个类:
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;
}
}
试试看
{
使用(var response=await client.sendaync(request.ConfigureAwait(false))
{
如果(!response.issucessStatusCode)
{
***var error=await response.Content.ReadAsAsync().ConfigureAwait(false)***
抛出新的HttpRequestException(error.Details);
}
response.EnsureSuccessStatusCode();
var result=await response.Content.ReadAsAsync().ConfigureAwait(false);
返回结果;
}
}
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;
}
}