为什么.cshtml更改在应用程序池回收之前不会在本地反映出来?为什么在Visual Studio中构建我的项目会停止回收应用程序池?

时间:2019-05-13 17:52:27

标签: c# asp.net-mvc visual-studio web iis

我正在用C#开发一个MVC Web应用程序。当我使用基本的HTML或CSS更改保存视图(.cshtml)时,只需要刷新页面即可查看更改。现在,在回收IIS应用程序池之前,我看不到它们在本地反映。

这可能是一个单独的问题,但是构建用于回收应用程序池的应用程序。今天,当我构建应用程序并进行测试时,在手动回收应用程序池之前,看不到对控制器的任何更改。我知道应用程序池不会在构建时回收,因为我保持登录状态。

我不知道对该项目所做的任何更改。另一个团队成员可能更改了某些内容。可能发生了什么变化?我应该先在哪里检查?

2 个答案:

答案 0 :(得分:2)

您是否检查过您的浏览器没有在缓存网站,以至于不会看到小的变化?这是我首先要检查的地方。我注意到,大多数时候我看不到自己的更改,这与浏览器将我的网站缓存在屏幕上有关,这样我就看不到自己的更改。

我通常通过以下方式避免此问题:

  • 在浏览器中打开开发人员工具
  • 禁用缓存,
  • 刷新,
  • (可选)如果必须启用缓存以测试更改,则再次启用它。

要注意的一件事是,如果您的DLL在构建中未更改,或者IIS未检测到其托管的文件中的更改,则它将不会自动回收应用程序池。但是,这听起来不像您遇到的问题,因为您说您期望控制器中的更改。

另一个团队成员更改可能会影响IIS的设置听起来不太可能,但并非不可能。您也许可以检查IIS的配置设置,但很有可能是浏览器中的缓存问题。

答案 1 :(得分:1)

团队中的某人将fcnMode =“ Disabled”添加到了web.config中的httpRuntime标记中。在本地删除它可以解决我一直遇到的问题。

我们正在内部讨论为什么要添加它以及如何向前发展。