Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual Studio 2010中ASP.NET Web应用程序的生产率_Asp.net_Visual Studio - Fatal编程技术网

Visual Studio 2010中ASP.NET Web应用程序的生产率

Visual Studio 2010中ASP.NET Web应用程序的生产率,asp.net,visual-studio,Asp.net,Visual Studio,我正在开发一个相当大的ASP.NET web应用程序,当我在界面中工作时,我的生产率会受到很大的影响。我可以快速完成向数据库和API添加功能的过程,然后我点击了界面,不得不重新编译和运行,这占用了我很多时间 例如,如果我正在处理一个行为不太正确的棘手问题,需要进行多次调整,我将不得不经历多个[停止/调整/构建/运行/登录/导航回页面]周期,这真的会扼杀我的流量,每次我都会盯着屏幕,手指悬停在hackernews书签上 我一直在设法回避这个问题,但我的情况并没有得到多大改善。以下是我到目前为止的发

我正在开发一个相当大的ASP.NET web应用程序,当我在界面中工作时,我的生产率会受到很大的影响。我可以快速完成向数据库和API添加功能的过程,然后我点击了界面,不得不重新编译和运行,这占用了我很多时间

例如,如果我正在处理一个行为不太正确的棘手问题,需要进行多次调整,我将不得不经历多个[停止/调整/构建/运行/登录/导航回页面]周期,这真的会扼杀我的流量,每次我都会盯着屏幕,手指悬停在hackernews书签上

我一直在设法回避这个问题,但我的情况并没有得到多大改善。以下是我到目前为止的发现:

  • 当您更改静态文件(js/css/etc)时,VisualStudio将经常重新启动应用程序,这不需要重新启动。如果使用IIS express运行VS,则此问题将消失
  • 如果我知道我有一大堆乱七八糟的事情要做,我会将代码剪切/粘贴到标记页面上的服务器脚本标记中,运行该产品,并进行调整,直到效果良好,然后再剪切/粘贴回去。这很烦人,因为它通常需要在ASP.NET文件中设置大量导入页面声明和代码编辑功能,尽管VS2010比以往任何时候都好,但不如C#文件。此外,一旦做了足够的更改,它仍然会偶尔重新启动应用程序
  • 我可以从web应用程序项目中排除codebehind文件,将aspx页面声明中的“codebehind”属性更改为“src”属性,然后在应用程序运行时从那里编辑代码(直到我做了足够的更改以触发重新启动)。然而,现在intellisense在codebehind中不起作用

我是否遗漏了一些显而易见的东西,或者ASP.NET web应用程序的开发真的应该如此缓慢?感谢您提供的所有解决方案。

我从不通过Visual Studio运行我的应用程序。使用IIS对自己进行设置,然后将站点配置为指向应用程序的位置以及人造域。编辑主机文件以将域指向本地主机

然后,当你想查看你的站点时,只需访问你选择的域。如果您需要修改CSS或脚本,只需进行更改并刷新页面即可。如果您更改了代码,请编译应用程序,然后刷新页面


如果您需要实际使用Visual Studio调试器,那么只需连接到IIS进程(应用程序池名称),断点就会被命中。

我发现了一种技术组合,可以大大提高我的工作效率

  • 使用类似Chrome的替代浏览器。当您停止VS调试器并使用IE时,VS将关闭浏览器,但在Chrome(或Firefox,或其他任何东西)上不会这样做
  • 切换web.config以在Windows身份验证模式下运行,并编写了一个包含在条件编译标记中的快速透明登录例程(仅限调试,此功能不适合我们的生产产品。)
现在,当我进入它时,我可以停止调试器(不再关闭浏览器)、更改代码、构建、有选择地再次启动调试器,然后在Chrome中点击F5以加载最新的调试器。由于应用程序必须启动,刷新显然需要更长的时间,但不再有“运行浏览器/登录/导航回页面”任务


希望这能在类似情况下帮助其他人。

它有时确实会有点重复,包括调整、重新编译、运行等。但对我来说,这是非常琐碎的。也许我使用它的时间太长了,以至于我再也没有注意到它。最糟糕的是,当我在API/DB中完成一系列工作,然后开始处理接口时,我感觉自己突然慢了下来。很多新开发人员(我知道)总是使用设计器来构建他们的UI——奇怪的是,我发现这对我来说适得其反。我打字很快,更喜欢一直呆在引擎盖下。我想这也取决于你的开发机器…我在这台机器上有足够的能量,编译和运行速度非常快。Ek0nomik,这似乎是一种合理的工作方式,但进行代码隐藏更改仍然需要我所抱怨的所有步骤-构建、等待应用程序启动、登录、导航到页面,等等。除了对非动态文件的更改不会触发应用程序重新启动外,这也可以通过在VS中运行IIS Express来解决。或者我是否遗漏了要点?您必须编译应用程序并等待初始加载;这是没有办法的。构建时,IIS将重新启动应用程序池,因此必须再次加载这些资源。除非您使用了一些奇怪的身份验证,否则您不应该再次登录到您的站点。当您登录时,您应该会得到一个cookie,并且该cookie将在站点的新构建之后保持有效。这种方法的唯一缺点是附加到进程会禁用VS2010 Ultimate edition中的Intellitrace功能。这不是一个值得指出的问题。这并不是说没有办法,例如,如上所述,将codebehind代码剪切/粘贴到服务器端脚本块中可以让您在不必构建项目或重新启动应用程序的情况下进行许多代码更改。只是不太方便。由于这里没有其他响应,我猜我只能专注于以某种方式减少调试模式下的应用程序启动时间,并进行安全绕过(当应用程序重新启动时,我们的安全系统会将用户踢出,因此必须注意这一点。)感谢您在这方面的帮助。
我们的安全系统将在应用程序重新启动时将用户驱逐出去
——这听起来非常脆弱。如果您的应用程序没有获得太多流量,至少在默认IIS设置下,它将自行重新启动。你可以改变主意