asp.net - 如何减少在 IIS 5.1 中开发 ASP.NET Web 应用程序时对 IISRESET 的需求

标签 asp.net localhost iis-5 iisreset

我在运行 WinXP 的开发 PC 上有一个 Web 应用程序项目,因此是 IIS 5.1。我对这个网站所做的更改似乎只有在我执行 IISRESET 后才会“生效”。也就是说,我进行了源代码更改,重新构建项目,然后在不调试(或调试)的情况下启动。除非我使用 IISRESET 进行干预,否则新更改的代码不“可见”或无效。

顺便说一句,Web 应用程序项目的“属性”显示上的“Web”选项卡被配置为使用项目 URL 处的本地 IIS Web 服务器:http://localhost/myVirtualDirectory

...

但是我在使用 VStudio Dev Server 时注意到了同样的问题(即我必须通过访问任务栏托盘区域来停止它,以便看到我的源更改生效)。

这是我可以改变的吗?

编辑更新:

如果可能的话,只是想澄清一下。下面有两个不同的答案;不知道如何前进。有人说这是意料之中的(IIS 5.1 的弱点,而后者是 WinXP 所能提供的最好的)。另一个声明这不是预期的行为(我倾向于同意,因为这是我第一次在我使用了很长时间的旧 WinXP 开发平台上遇到这种情况)。我怀疑它可能是 Visual Studio 2008 Web 应用程序“内部”的东西,它从 VStudio 2002 (ASP.NET 1.1) 升级到这个新的 IDE。我试图在每个答案路径中添加评论/问题。谢谢。

最佳答案

这根本不是正常行为。 ASP.NET 应该自动重新加载您放在 bin 目录中的任何程序集。如果您使用动态编译,它也应该在代码隐藏文件中提取新代码。

一,确保您使用正确的 CodeFile 或 CodeBehind 指令。 CodeFile 用于动态编译。

如果您有一个 Web 应用程序项目并将您的 .cs 源文件编译为 DLL,那么请确保您的项目将 DLL 放入正确的目录中...即/[ApplicationRoot]/bin。

关于asp.net - 如何减少在 IIS 5.1 中开发 ASP.NET Web 应用程序时对 IISRESET 的需求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2282869/

相关文章:

asp.net - ASP.NET Web 表单中的 CSS 选择器

asp-classic - ASP 服务器端代码如何损坏智能引用?

internet-explorer - 127.0.0.1 不适用于 IE 11

asp-classic - XP 经典 ASP 上的 IIS 5.1 似乎处于单线程模式

javascript - 打开自定义协议(protocol)后关闭浏览器窗口

asp.net - asp.net 应用程序中的内存泄漏 - W3WP 和 gen 2 堆持续增长,直到 AppPool 回收

javascript - 从对话框中获取值并在后面的代码中使用它们

web-config - 当 web.config 包含 ipSecurity 权限时允许 "localhost"在 iisexpress 中运行

php - 配置 CodeIgniter 以在 Mac OS X 上使用 Apache 在本地运行