2

IoCコンテナー(autofac)を使用してオブジェクトを管理します。そのため、私はオブジェクトの代わりにインターフェースのみを使用します。

私のWebAPIが「Document」タイプのオブジェクトを返す場合、フレームワークはjsonとxmlのシリアル化を処理できます。[DataContract]-属性をDocument-classに追加しましたが、インターフェイスではこれは不可能です。

したがって、タイプIDocumentのオブジェクトを返したい場合は、HTTPコード500を取得します。ASP.NET4MVC Web APIはRCになりましたが、フレームワークはインターフェイスメンバーをxmlにシリアル化できませんか?Jsonのシリアル化は問題ありません。

4

1 に答える 1

0

Web API インターフェイスで公開される型は、DTO (データ転送オブジェクト) である必要があります。ViewModel と呼ぶこともできます。

クライアントに依存しない Web API でモデルを公開することは、アンチ パターンです。

API が純粋に .NET クライアントで使用される場合は、WCF を使用するか、KnownTypeを使用できます。それらをインターフェイスで使用しても問題ないはずです。

于 2012-06-11T14:59:52.953 に答える