我有一个方法可以创建一个包含错误对象的 HttpResponseMessage,该对象将根据当前请求媒体类型格式化程序返回。
目前,我已经对 XmlMediaTypeFormatter 进行了硬编码,但我希望能够在运行时找到当前请求 MediaTypeFormatter 但我无权访问当前请求对象,因为我的以下代码存在于单独的类库中。
private HttpResponseMessage Create(HttpStatusCode statusCode, string errorCode, string errorMessage)
{
var result = new HttpResponseMessage(statusCode)
{
Content = new ObjectContent<Error>(new Error()
{
Code = errorCode,
Message = errorMessage
}, new XmlMediaTypeFormatter())
};
return result;
}
如何全局访问当前的 HttpRequestMessage 对象?类似 HttpContext.Current.Request
如果不可能,如何实现上述方法,以便它知道应该为当前请求使用哪个格式化程序?