asp.net-mvc - 将 ASP.NET MVC 应用程序部署到 IIS7 并保持干净的 web.config

标签 asp.net-mvc iis deployment iis-7

我想将我的 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/

相关文章:

asp.net-mvc - ASP.NET MVC5/IIS Express 无法调试 - 代码未运行

asp.net - 使用 IIS 下运行的 ASP.NET 控制 iTunes

asp.net - 将 ASP.NET 应用程序部署到远程服务器

c# - 在 C# 中将列表对象转换为 json

asp.net-mvc - 如何告诉 MVC 在 Asp.net MVC 中的上一个类之后追加 ".input-validation-error"类

c# - 升级到 .NET 6 时,Web Project 抛出运行时异常

visual-studio - 打开解决方案时,Visual Studio创建IIS虚拟目录

iis - 经典 asp application_OnEnd 和 session_OnEnd 事件不起作用

Django 管理界面在生产中缺少 css 样式

ruby-on-rails - rails : Showing the latest deploy date in web app