繁体   English   中英

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

[英]Why are .cshtml changes are not reflected locally until app pool recycle? Why did building my project in Visual Studio stop recycling the app pool?

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

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

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM