私はASP.NET MVC4 Web APIでAPIを構築していますが、私のアクションの1つはXML(現在はXElementの形式)を返します。私はデータのコントロールがありません、私はそれを渡すだけです。それをデシリアライズできる標準オブジェクトはありません。ASP.NET MVC4 Web API XElementをJSONに変換するMediaTypeFormatterコンバータ
public Task<XElement> Get(string queryName, string query)...
私がしたいことは、MediaTypeFormatterを使用して、そのように要求された場合にMediaTypeFormatterをJSONに変換することです。私はMediaTypeFormatterを書き始めて、それをフックアップが、私は、コントローラの「ゲット」を呼び出すとき、それはMediaTypeFormatterで
protected override bool CanWriteType(Type type)
{
return true;
}
を呼び出しますが、限りOnWriteToStreamAsync方法として取得することがありません。結果は文字列としてのXMLだけです。
"<testXmlHere\/>"
これを修正する方法はありますか?ここで
おかげ
あなたのAPIはなぜタスクを返すのですか? – cecilphillip
これは非同期実行を有効にするためです。多くの記事がありますが、スタック全体が非同期実行用に設計されています。 –