IoC / Web api フレームワークの依存関係リゾルバーをデカップリングに使用したい。
XmlFormatter はインターフェイスをシリアル化できません...わかりました。しかし、xml を返すことができない場合、IoC と DependencyResolver の目的は何でしょうか?
私はこれを行うことさえできません:(私のApiControllerのメソッド)
public HttpResponseMessage Get()
{
IEnumerable<Project> projects = new List<IProject>() { new Project(), new Project() }.Select(p => p as Project);
HttpResponseMessage response = Request.CreateResponse<IEnumerable<Project>>(HttpStatusCode.OK, projects);
return response;
}
IProjects のリストを作成し、それらを「Project」にキャストします。しかし、応答を作成しているときに、次のようになります。
構成されたフォーマッター 'System.Web.Http.Tracing.Tracers.XmlMediaTypeFormatterTracer' は、タイプ 'WhereSelectListIterator`2' のオブジェクトを書き込めません。
それは XmlMediaTypeFormatterTracer ですか? シリアル化中にエラーをスローするトレースは必要ありません。(ところで: 標準の XMLformatter を独自のものに置き換えました。ただし、「XmlMediaTypeFormatterTracer」は例外をスローします... 情報: 標準のフォーマッタを使用しているときに同じエラーが発生します)
独自の xmlformatter を実装しているにもかかわらず、この XmlMediaTypeFormatterTracer が呼び出されるのはなぜですか?