我想将我的ASP.NET MVC应用程序部署到Web托管公司(如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
然后我开始使用一个只包含数据库连接字符串的超级基本web.config.我的申请没有用.
然后我将我的本地web.config的混乱复制到服务器并更改了数据库连接字符串,事情开始起作用,但我仍然收到错误消息:
Could not load type 'System.Web.Mvc.ViewPage'
然后我发现这篇文章解释了如何更改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只需要包含我的简单应用程序设置.