【问题标题】:code works in test, but not on production代码在测试中有效,但在生产中无效
【发布时间】:2013-07-29 09:56:11
【问题描述】:

我们的一个视图模型文件需要更新代码(如果是 stmt 则很简单),我们的修复在测试中运行良好。然而,当我们部署到生产环境时,修复失败了,并且就好像代码不存在一样,即使它存在(我们看到 2 个更新的文件以及服务器上的更改)。

我们已经复制了生产数据库进行测试,它再次在测试(和本地)中工作,但仍然不能在生产中。

这是一个 mvc 站点、c#、iis 6.0、sql server 2008,我们不知道该再试一次。我们甚至尝试更改 .cshtml 文件,放入隐藏的变量,但在网站上执行时,我们找不到变量,或者我们放入的细微更改。

关于我们还可以尝试什么来使其工作的任何提示?

【问题讨论】:

  • 您是否正在更新生产服务器上bin 文件夹中的应用程序DLL?
  • 如何部署你的 mvc 应用程序?网络部署? ftp?
  • 是的,在产品上更新了 dll。
  • 我们首先在 Visual Studio 中以发布模式构建应用程序来进行部署。然后我们将 bin、Content、Controllers、Helpers、Views、Global.asax、Global.asax.cs 复制到生产服务器上的文件夹中。
  • 根据我的经验,IIS 在缓存方面可能有点固执。很舍不得放手的东西;我们遇到过几种情况,即使在重新启动应用程序池并发送了我们能找到的每个缓存清除命令之后,解决方法是回家并在早上 IIS 决定删除缓存版本时重试。

标签: c# visual-studio-2010 asp.net-mvc-3 web-applications iis-6


【解决方案1】:

您说您的 .cshtml 文件没有显示更改。这可能意味着:

  • 您不在生产服务器上,请查找正确的服务器
  • 您所在的目录不是网站目录,请检查 iis 以找到您网站的正确位置
  • 在您进行更改之前停止 iis 服务器并启动您的服务器

【讨论】:

  • 不,我们在生产服务器上定义,我们可以看到文件。我们也无法重新启动 iis 并且这里托管了其他站点,这是生产。
  • 如果您将文件添加到 bin 目录,您将重新启动应用程序。您的所有网站都应该有自己的应用程序池。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-20
相关资源
最近更新 更多