Wie kann global auf das aktuelle HttpRequestMessage-Objekt zugegriffen werden?

Ich habe eine Methode, die ein HttpResponseMessage erstellt, das ein Error-Objekt enthält, das basierend auf dem aktuellen Formatierungsprogramm für Anforderungsmedien zurückgegeben wird.

Derzeit habe ich den XmlMediaTypeFormatter fest codiert, möchte aber die aktuelle Anforderung MediaTypeFormatter zur Laufzeit finden, habe aber keinen Zugriff auf das aktuelle Anforderungsobjekt, da der folgende Code in einer separaten Klassenbibliothek vorhanden ist.

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;
}

Wie kann global auf das aktuelle HttpRequestMessage-Objekt zugegriffen werden? so etwas wie HttpContext.Current.Request

Wenn dies nicht möglich ist, wie kann die obige Methode implementiert werden, damit sie weiß, welchen Formatierer sie für die aktuelle Anforderung verwenden soll?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage