私はMVC3と一緒にNinjectを使用してコントローラの依存関係を注入しています。時々、コントローラのアクションが実行される前であっても、MVC Miniプロファイラで遅いタイミングが得られることがあります。私がその時間の前にはあまりしないので、私はそれが私の使い方の問題であるかもしれないと思った。 ninjectからタイミング情報を得る既存の方法はありますか?おそらく、依存関係の解決にどれくらいの時間がかかるかを記録するconfigオプションは、自分自身を追加する良い方法とは言えませんが、拡張またはラップできるクラスはありますか?mvc3 Webアプリケーションのプロファイルnyject
答えて
NinjectDependencyResolverのデコレータは、IDependencyResolverインターフェイスを実装してDependencyResolverに置き換えることで記述できます。
DependencyResolver.SetResolver(new ProfilingResolver(DependencyResolver.Current));
public class ProfilingResolver : IDependencyResolver
{
private readonly IDependencyResolver decoratedResolver;
public ProfilingResolver(IDependencyResolver decoratedResolver)
{
this.decoratedResolver = decoratedResolver;
}
public object GetService(Type serviceType)
{
using (MiniProfiler.Current.Step("Get_" + serviceType.Name))
{
return this.decoratedResolver.GetService(serviceType);
}
}
public IEnumerable<object> GetServices(Type serviceType)
{
using (MiniProfiler.Current.Step("GetAll_" + serviceType.Name))
{
return this.decoratedResolver.GetServices(serviceType);
}
}
}
まず、私のデフォルトの回答は次のようになります -
私はDIがプロファイルに興味深いものの統計学的に有意な割合として現れて見たことがありません。 Go Compose!
(この投稿はコメントとしての人生を始めました: - @olleはあなたがソースを見ましたか?解決プロセスを「包む」比較的簡単な拡張があり、grokにはあまりにも複雑ではありません。ミニプロファイラーを使って、物事を詰めるのはかなり簡単ですが、これは比較的単純な拡張機能のようです。これはフォーラムに参加するPITAの応答ですが、私は個人的には使えると言われて感謝しています。数年前の情報源です.Ninjectコードベースとそのテストは、読んでもかまいません。
いいえ私はその答えを分かりやすく評価しています。ソースを覗き込んだだけで、既に存在していたラッパー/機能などがあるかどうかを確認したかったのです。 – olle
@olle Cool。しかし本当の答えを与えるために周りにRemoを持っていることは素晴らしい:D –
- 1. MVC3 Webアプリケーションのデプロイ
- 2. .NET MVC3の完全非同期Webアプリケーション
- 3. ASP.NET MVC3アプリケーションにWebモジュールを挿入
- 4. MVC3アプリケーション
- 5. '/'アプリケーションのMVC3サーバーエラー
- 6. '/'アプリケーションのサーバエラーMVC3
- 7. ProdプロファイルのJHipsterアプリケーションを実行中に空のWebコンテンツ
- 8. プロファイルGUIアプリケーションのブートストラップ
- 9. WebフォームのページをMVC3アプリケーションのサブフォルダにルーティングする
- 10. Webソフトウェアプロジェクトのリスク管理プロファイル?
- 11. Windows認証付きMVC3 Webアプリケーションの権限昇格
- 12. Visual Studio 2010のMVC3 Webアプリケーションでテーブルフォルダーが動作しない
- 13. スケーラ・プレイ・アプリケーション用のHerokuプロファイル
- 14. Silverlightアプリケーションのプロファイル方法は?
- 15. Asp.net MVC3アプリケーションをホスティング(Webホスティングプロバイダ)にデプロイする方法
- 16. ASP.NET MVC3 /かみそりC#両面/インターフェースWebアプリケーション
- 17. mvc3アプリケーションのweb.configのマシンキー
- 18. ASP.NET MVC3 - アプリケーションの開始フォルダ
- 19. JQuery Mobile MVC3 iPad Web Appリンク
- 20. asp.net Webアプリケーションでプロファイルを使用するためのソリューションとは何ですか?
- 21. Java/Seam Webアプリケーションでセッションメモリの使用状況をプロファイルする方法は?
- 22. MVC3 VS2010アプリケーション設定i9mplementation
- 23. MVC3への移植時にASP.NET MVC3のロールとプロファイルを変更する必要がありますか?
- 24. MVC3アプリケーションのWebフォームアプリケーションルーティングがIIS7.5でHttpContext.SetSessionStateBehaviorエラーをスローしています
- 25. Webアプリケーションでいつプロファイルを使用する必要がありますか?
- 26. Netbeans 6.5プロファイラを使用してリモートWebアプリケーションをプロファイルしますか?
- 27. mvc3アプリのWebページ(webmatrixなど)
- 28. ジョブスケジュール - Web Sphere Application Server 8.5/Libertyプロファイル
- 29. AzureでのASP.NET MVC3アプリケーションのウォーミングアップのプロファイリング
- 30. MVC3アプリケーションのIoCコンテナの初期化
+1 Doh!ニース... –
将来の参照のために、それは実際にninjectではありません! – olle