0

アプリケーションにより多くのメタデータを提供することを期待して、データベース クエリに関する追加情報をラップしたいと考えました (SQL データ アクセスではプレーンを使用し、Entity Framework やその他の ORM は使用しません)。

APIQueryResult次のように設定されたオブジェクトがあります。

string Status { get; set; }
string[] Errors { get; set; }
object[] Data { get; set;}

これDataは私の POCO オブジェクトの配列です。

JSON を要求すると、メタデータとオブジェクト データを含め、すべてが正常にシリアル化されます。ただし、XML を要求すると、次のエラーが発生します。

「ObjectContent`1」タイプは、コンテンツ タイプ「application/xml;」の応答本文をシリアル化できませんでした。charset=utf-8'.

注: このアイデアは Filip W ( http://www.strathweb.com/2012/06/extending-your-asp-net-web-api-responses-with-useful-metadata/ )に触発されましたが、私はしませんでしたHttpHandlers などを書くのと同じくらい複雑にしたい.

通常のクラス、またはクラス インスタンスの IEnumerable/List を返すことができない場合、少なくともエラー情報をクライアントに返すより良い方法はありますか?

ありがとう!

4

1 に答える 1