我是一個相對較新的C#開發人員,我發現自己大約1/5作爲VS 2010中C#MVC應用程序的生產力,比我之前在Zend使用php 手動使用vim。如何提高MVC C#應用程序的生產效率?
我在寫測試/寫代碼/運行測試/集成&調試問題的迭代週期中工作。
這最後一步涉及到使用visual studio構建代碼,debug> attach to process> w3wp.exe,然後訪問http://localhost/App/(IIS 7.5的本地副本)並觸發一些事件/ etc,使VS調試器運行。
發現錯誤/問題後,我停止調試器,修復它,重新編譯並重復。
這是令人難以置信的緩慢。
編譯應用程序可能需要2秒,但第一次在調試器中加載需要大約60-80秒。關閉調試器可以提高分數的速度,但不會顯着。
我的IIS副本沒有什麼特別之處;它只是配置爲從Visual Studio項目本地運行項目目錄。
我的機器不是太棒了,它的3.0Ghz雙核心運行Windows 7的4 GB內存......但這只是一個笑話。我花更多的時間盯着我的屏幕等待IIS到做點什麼比我寫的代碼。
後續頁面加載顯然非常快,你知道即時頁面加載。
我想這個問題是,IIS需要運行應用程序啓動和加載文件,並在我重新編譯時執行它對應用程序池worker的任何操作,這意味着初始啓動速度很慢(IOC,Web配置文件等)。
...但是,我似乎無法在網上找到許多其他人抱怨這個,所以我猜想它必須是應用程序配置方式,IIS配置方式和我的工作流程都搞砸了。
我在做什麼錯?
如果IIS啓動時沒有辦法,我應該怎麼做才能避免這個問題呢?
你能否提供更多關於你的項目的信息,比如對代碼文件編號的粗略估計,它做了什麼等等?如果你有一個Hello World項目,CLR在第一次加載時就不需要花費幾秒鐘的時間來編譯應用程序。由於首頁加載需要一分鐘,我認爲你還有其他事情要做,或者在後臺運行一些非常糟糕的東西。 –
這是一個不起眼的購物車Web應用程序。唯一可能不尋常的是它有大約8個soap服務依賴項(而不是數據庫)。解決方案目前有8個子項目,8k loc。可維護性指數〜85,圈複雜度〜35? – Doug