更改HttpResponseMessage

时间:2016-02-12 11:08:29

标签: c# http asp.net-web-api2

我从WeB APi 2返回一个crossdomain.xml文件,我需要Content-Type标题为“application / xml”或“text / xml”。这是我的控制者:

public class CrossDomainController : ApiController
{
    public HttpResponseMessage Get()
    {
        var xmlString = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "crossdomain.xml");
        var result = Request.CreateResponse(HttpStatusCode.OK);
        result.Content = new StringContent(xmlString, Encoding.UTF8, "text/xml");
        return result;
    }
}

我还添加了一条到WebApiConfig的路线:

config.Routes.MapHttpRoute(
            "CrossDomain", "crossdomain.xml",
            new { controller = "CrossDomain" });

和Web.config的处理程序:

  <add name="XMLHandler" type="System.Web.StaticFileHandler" path="*.xml" verb="GET"  />

问题是,当我调用此api时,Content-Type标头始终是application / octet-stream。

我该如何覆盖?

0 个答案:

没有答案
相关问题