13

REST / XML呼び出しをより適切に処理するために、以前のDefaultControllerFactoryを新しいASP.NETWebAPIに置き換えようとしています。Webの検索は常に、インターフェースに必要なその他のいくつかのメソッドを実装System.Web.Http.Dependencies.IDependencyResolverして処理することを指していました。GetService()

ただし、ApiControllerインスタンスと新しいコントローラーをキャッシュしているようですが、解決されていないようです。パフォーマンスの問題により、起動時にすべての可能なApiControllerインスタンスを提供することは困難です。

DefaultControllerFactoryコントローラインスタンスを提供し、「ヒット」エントリをキャッシュできますが、インスタンスを遅延ロードできなかった場合はエラーをスローします。

実装する必要のある他のオーバーロード/コントローラーファクトリメソッドはありますか?

これまでのところ、検索でヒットは得られませんでしたが、ポインタはどれも素晴らしいものになるでしょう。お時間をいただきありがとうございます。

4

1 に答える 1

10

によってIHttpControllerActivator実装されDefaultHttpControllerActivatorます。

次を使用して置き換えることができます。

GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), 
        new MyOwnActivatior());

おっとっと!

つまりIHttpControllerSelector


によってIHttpControllerSelector実装されDefaultHttpControllerSelectorます。

次を使用して置き換えることができます。

GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerSelector), 
        new MyOwnActivatior());
于 2012-08-09T15:19:46.480 に答える