【问题标题】:After MVC3 publish, just update the viewsMVC3 发布后,只需更新视图
【发布时间】:2012-01-29 21:30:51
【问题描述】:

.NET/MVC3 新手,请多多包涵!

我一直在寻找这个答案,但找不到我想要的确切答案,所以它来了......

假设我正在使用 Visual Web Developer Express 开发一个 MVC3 应用程序,并且我开始使用内置发布工具来部署站点。

但是现在我的网站已经启动并运行,我发现我需要对其中一个视图进行微调。我更新视图并保存文件,并使用我的 FTP 程序上传新文件。 问题是 MVC3/.NET 似乎没有刷新/更改视图,因为它仍在使用旧版本。

当然我尝试过刷新(甚至在许多不同的浏览器中),但它仍然无法加载新视图。

这是正常行为吗,这意味着我每次进行一些小调整时都必须发布(有点费时)?我真的无法想象会是这样,所以我想知道您是否可以对此有所了解?

感谢任何回复!

/米凯尔

【问题讨论】:

  • 你在使用编译视图吗?如果没有,请回收 appPool(如果您可以访问服务器上的 IIS)或尝试通过在 web.config 中添加额外空间来强制在服务器上重建。如果是,请将新的 bin 复制到服务器。
  • 我无权访问任何 IIS 设置,我知道。这是一家普通的在线托管公司。你的意思是通过更改 web.config,我强制服务器“重建”?
  • 不是真正的“重建”,但它会 JIT 发送最新的视图。

标签: asp.net .net asp.net-mvc-3 deployment views


【解决方案1】:

如果您上传视图 (.cshtml) 文件并且这是应用程序中已更改的部分,则刷新将反映更改 - 您可能需要按 ctrl+f5 来清除临时缓存。然而!如果您更改 ANY 的控制器代码或操作代码,或任何 c#(如果您使用的是 vb),那么您必须重新上传相关的已编译 .dll与整个应用程序一起反映更改。

【讨论】:

  • 当您编写“或任何 c#”时,这是否甚至在视图中包含 c#/razor 代码。我知道我必须重新编译我的控制器等,但意见公平吗?那么 web.config 或 global.asax 怎么样?
  • 对于 web.config,如果更改,您可以手动上传。我在任何 c# 代码中的意思主要是如果您要更改任何以 .cs 结尾的文件,例如模型、控制器、数据访问层、global.asax.cs 等。实际上我没有考虑过您是否更改了 c#视图中的代码,这可能还需要重建项目(但我认为不需要)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-21
  • 1970-01-01
  • 2016-10-26
  • 2013-07-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多