我們周圍4.0步進MVC迷你探查沒有嵌套usings
由於發展的性質我們已經實現一個倉庫風格的圖案,並有大量的動態CRM複雜的實體關係模型基於一個複雜的系統不同的提供者彼此相關。
我真正想要做的是分析他們的構造函數和各種懶惰的getter,但我想在最高級別對此進行建模。
問題是,當然,範圍 - 如果我將構造函數包裝在一個使用塊中,它不可用於其他任何東西。如果我擴展使用塊,以便引用我正在分析的對象的所有內容都進入範圍,那麼分析器不僅僅分析構造函數 - 它是對其他所有內容進行計時。
同樣,有一個嵌套級別,如果我正確嵌套使用,那麼代碼變得不可讀。
我已經看過Profiler.Inline但不符合我的目的。
我真正想要做的是這樣的:
ref = Profiler.StartStep("Creating CRM Model");
//Do horrible CRM work
var myNewHorribleObject = CRM.ModelHorribleStuff(...);
Profiler.StopStep(ref);
ref = Profiler.StartStep("How long does it take to get X");
var data = Repository.GetSomething(myNewHorribleObject.SomeId);
Profiler.StopStep(ref);
ref = Profiler.StartStep("How long does it take to get Y");
var newData = Repository.GetSomethingElse(myNewHorribleObject.ContextId);
Profiler.StopStep(ref);
這是否有意義?希望我可以在Mini Profiler中忽略一些東西,但我歡迎任何建議!
我想重新編碼一下,但沒有時間,雖然看起來很奇怪,但我們確實有一個相當不錯的圈複雜度。
輝煌,謝謝! – 2012-02-29 15:00:44
請注意,如果MiniProfiler未啓動,那麼executionStep將爲空,因此您需要「if(executionStep!= null)executionStep.Dispose()」。 – eddiegroves 2015-01-30 05:18:34