我想将我的 ASP.NET MVC 应用程序部署到网络托管公司(如 DiscountASP.net)。我对 Web 服务器上的 web.config 文件中需要包含的内容感到困惑。当我在本地创建项目时,我会得到一个臃肿的 web.config,其中包含各种附加模块、处理程序、编译器。我是否需要将所有这些项目添加到生产 web.config 文件中?
我仍在 IIS6 中部署我当前的 ASP.NET 应用程序(不是 MVC),我一直为生产环境手工制作一个简单的 web.config,并将其与其余的应用程序文件一起上传。似乎对于 IIS7,我打算使用 Web 服务器上的 IIS 管理器来构建 web.config。在生产服务器上构建/管理 web.config 的最佳方式是什么?
最佳答案
因此,到目前为止,这是我在尝试将 MVC 应用程序部署到 DiscountASP.net 时发现的。
我发现的第一个想法是我必须确保 System.Web.Mvc 已部署到 bin,因为它没有安装在 GAC 中:
http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx
然后我从一个 super 基本的 web.config 开始,它只包含数据库连接字符串。我的应用程序不起作用。
然后我将本地 web.config 的困惑复制到服务器并更改了数据库连接字符串,事情开始工作,但我仍然收到错误消息:
Could not load type 'System.Web.Mvc.ViewPage<MyCustomModel>'
然后我发现这篇文章解释了您需要如何更改 web.config 以支持不使用代码隐藏文件(由于某种原因,您不需要使用本地 Visual Studio Web 服务器执行此操作):
http://blog.benhall.me.uk/2009/01/aspnet-mvc-rc1-removing-code-behind.html
就个人而言,我不喜欢简单的应用程序设置(如连接字符串和 SMTP 设置)与复杂的 MVC(和 AJAX.NET)基础设施设置混在一起。一个不错的选择是托管公司(例如 DiscountASP.net)设置 Master.config(或更高级别的 web.config)以支持 MVC,这样我的 web.config 只需要包含我的简单应用程序设置。
关于asp.net-mvc - 将 ASP.NET MVC 应用程序部署到 IIS7 并保持干净的 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/579107/