我是MVC的新手,来自ASPX 3.5网站。使用ASPX我总是只通过FTP / SFTP / RDP将文件从我的测试PC复制到生产服务器,以更新页面。下次请求页面时,将使用新版本。 MVC 4不是这么简单吗?
即使在我的本地副本上,我也必须在Visual Studio 2012中更新文件时再次“重建”和/或“运行”项目。使用ASPX我只需保存文件然后重新加载页面在我已经打开的浏览器中(只要Casini或我的本地IIS仍在运行)。视图我可以在不进行重建的情况下进行更新,但不能进行控制器更新。
如果这是我需要做的,如何让我的服务器“重建”,或者我是否需要始终从某个obj / bin文件夹中复制文件来更新服务器?我将整个文件夹复制到我的服务器上并且它正在运行,但随后我添加了一个新的Controller和View,并且URL给出了401错误,就像Controller不存在时一样。在我的本地副本上正常工作,所以我认为这是一个缓存/重建问题。
似乎向后退了一步......虽然我猜测有一个性能原因,如果必须这样的话。
编辑:如果重要,我的服务器是IIS6,Windows 2003,64位操作系统以32位模式运行IIS。
答案 0 :(得分:0)
我不认为有任何事情搞砸了,但我不知道/认为我必须从bin文件夹中复制文件以获取我所做的更改类型(只是视图和控制器文件)。我想这对MVC来说是新手,我习惯只查找更新的bin文件,如果我使用的某些库已更新...而不是我自己的代码,来自我正在更新的网站。我知道在经典的ASP.NET中有一个选项可以将您的站点预编译为DLL,但我从未使用过。听起来现在它总是这样,或至少是部分。
答案 1 :(得分:-1)
我强烈建议使用WebDeploy工具进行发布。您需要将它安装在目标服务器上,但一旦设置它就会让发布变得非常愉快。 http://www.iis.net/downloads/microsoft/web-deploy
不要被所有关于Web场的讨论所拖延,它对于简单环境中的单个服务器也很有用。
另请查看web.config转换,以便在发布站点时编辑web.config文件。与Dev相比,这可能是更改您在生产中使用的数据库或SMTP服务器。 http://www.hanselman.com/blog/WebDeploymentMadeAwesomeIfYoureUsingXCopyYoureDoingItWrong.aspx