【发布时间】:2012-03-23 14:26:04
【问题描述】:
我正在 ASP.NET MVC4 Web API 中构建一个 API,我的一个操作返回 XML(当前为 XElement 的形式)。我无法控制数据,我只是在传递它。没有可以将其反序列化为的标准对象。
public Task<XElement> Get( string queryName, string query )...
如果需要,我想要做的是使用 MediaTypeFormatter 将其转换为 JSON。我已经开始编写 MediaTypeFormatter 并将其连接起来,但是当我在控制器上调用“Get”时,它会调用
protected override bool CanWriteType( Type type )
{
return true;
}
在 MediaTypeFormatter 中,但永远不会达到 OnWriteToStreamAsync 方法。结果只是作为字符串的 XML,例如
"<testXmlHere\/>"
有人知道如何解决这个问题吗?
谢谢
【问题讨论】:
-
为什么你的 API 返回一个任务?
-
这样做是为了启用异步执行。上面有很多文章,但几乎整个堆栈都是为异步执行而设计的。
标签: c# xml json asp.net-mvc-4 asp.net-web-api