通常のASP.NET MVCページでは、リポジトリはコントロールのコンストラクタに渡されます。次に、テストでは、モックリポジトリを通過するコントローラをインスタンス化できます。ASP.NET Webサービスでdependency injectionとリポジトリパターンを使用するにはどうすればいいですか?
どのようにWebサービスでこれを行うことができますか?私が見る問題は、ControllerBuilder.SetControllerFactoryに相当するものがないことです。
IoCフレームワーク(Castle)が正しいリポジトリ実装でWebサービスをインスタンス化するためのベストプラクティスは何ですか?
私は、HttpHandlerを拡張し、Webサービスが実際にインスタンス化される方法を変更する方法があると思っていました。私は、これがMVCフレームワークの仕組みだと信じています。
Webサービスを実装するために使用しているテクノロジーはどれですか? ASP.NET WebサービスまたはWindows Communication Foundation? –
ASP.NET Webサービス。しかし、jristaの答えを読んだ後、本当に依存関係を入れたいのであればWCFを調べる価値があるかもしれないと思います。私はちょうど2つのコンストラクタを持っていると考えています - リポジトリをパラメータとして(テストはこれを呼び出す)、そしてハードコードするデフォルトのもの(この新しいIRepository)はASP.NETフレームワークによって呼び出されます。 –