Wie greife ich in SetDefaultContentHeaders auf das zugrunde liegende Objekt zu?
Ich habe eine Web-API, in der ich ein Objekt zurückgebe. Wenn ich den Accept-Header "image / jpg" verwende, möchte ich die Bilddarstellung dieses Objekts, aber ich möchte den Dateinamen basierend auf dem zurückgegebenen Objekt festlegen. Ich habe eine implementiertBufferedMediaTypeFormatter
und dachte, ich sollte dies in der Methode tunSetDefaultContentHeaders
wie solche:
public override void SetDefaultContentHeaders(Type type, HttpContentHeaders headers, MediaTypeHeaderValue mediaType)
{
base.SetDefaultContentHeaders(type, headers, mediaType);
var myObject = // How do I get this from the response?
var contentDispositionHeader = new ContentDispositionHeaderValue("attachment")
{ FileName = myObject.FileName };
headers.ContentDisposition = contentDispositionHeader;
}
Das Problem ist also, wie ich das zugrunde liegende Objekt erhalte, wenn ich in der binSetDefaultContentHeaders
? Ich konnte es in der Beta machen, indem ich es aus derHttpResponseMessage
das wurde an die Methode übergeben, aber das wurde entfernt.