我在ASP.NET MVC4 Web API中構建了一個API,並且其中一個操作返回了XML(當前以XElement的形式)。我無法控制這些數據,我只是把它傳遞出去。沒有可以將其反序列化的標準對象。ASP.NET MVC4 Web API MediaTypeFormatter將XElement轉換爲JSON的轉換器
public Task<XElement> Get(string queryName, string query)...
我想要做的是使用MediaTypeFormatter將其轉換爲JSON,如果它被要求這樣。我已經開始寫MediaTypeFormatter和迷上它,但是當我打電話控制器上的「獲取」,它調用
protected override bool CanWriteType(Type type)
{
return true;
}
在MediaTypeFormatter
,但就從來沒有得到作爲OnWriteToStreamAsync方法。結果就是XML作爲一個字符串,例如
"<testXmlHere\/>"
沒有人有任何想法如何解決這一問題呢?
感謝
爲什麼您的API返回任務? – cecilphillip 2012-03-06 06:36:22
它這樣做是爲了啓用異步執行。其上有很多文章,但幾乎整個堆棧都是爲異步執行而設計的。 – 2012-03-07 08:54:37