我是一个相对较新的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