Return "application/xml" anstelle von "text/plain" ASP.NET Kern-Web-API

Ich habe einen string, der XML-und ich muss es zurückgeben wie ein XML-Dokument. Dies ist standardmäßig zurückgegeben, wobei der content-type der text/plain. Der Inhalt gerendert wird, aber ich muss den content-type sein application/xml. Ich habe die option aktiviert RespectBrowserAcceptHeader, die Serialisierung von Objekten in XML und die korrekte content-Typ, außer wenn das Objekt ein string ist.

[HttpGet]
public string Get()
{
   return xmlString;
}

public static string xmlString = @"<?xml version=""1.0"" encoding=""UTF-8""?>
                     <sample>
                         Hello World.
                     </sample>";
  • Welche version von ASP.NET Core benutzt du?
  • "sdk": { "version": "1.0.0-rc1-update2", "runtime": "coreclr", "architecture": "x64" }
  • ContentResult wird für die Arbeit auch.
  • Ich habe gerade versucht es mit Ihrer Antwort, und Visual Studio nicht lassen mir tun ContentType = "application/xml", Definitiv die richtige Richtung, und die Kombination der Antworten, ich war in der Lage, es zu bekommen.
  • Seltsam. Objekt-Initialisierungen seit C# 3.0.
  • Gut, es war nur ein problem mit dieser einen Zeile. VS sagt "cannot convert string to Microsoft.Net.Http.Header.MediaTypeHeaderValue". Ich vermute, es ist nur eine bestimmte version, was.
  • Das ist ein gutes kleines Geheimnis :). Die Eigenschaft steht für einen string. Nicht zu sorgen..., das ist eine nette finden.

InformationsquelleAutor Daric | 2016-04-17
Schreibe einen Kommentar