【问题标题】:Proper Setup of WebSite/WebApplication Deployment on IIS在 IIS 上正确设置网站/WebApplication 部署
【发布时间】:2013-11-20 20:30:12
【问题描述】:

我继承了一个项目,该项目目前正在从一些较旧的 ASP.NET 技术(ASP、.NET 2 WebForms 等的混合)迁移到 MVC、.NET 4。相当多的网站移植过来了,太好了。此时,MVC 网站将占据完整的前端和中心位置,旧网站页面可通过网站内的链接访问。

我尝试设置的方法是让新的 MVC 代码成为站点(例如,默认 Web 应用程序),而各种旧项目成为该站点下的 Web 应用程序。

第一部分已经部署并且可以运行了——MVC 站点运行良好。但是,我在旧页面上遇到了一些困难。例如,我在名为 GenerateReports 的站点下设置了一个 Web 应用程序,并指向相应的目录 (C:/OldProjects/GenerateReports/)。当我浏览到网站的该部分 (http://www.example.com/GenerateReports/BrowseReports.aspx) 时,我收到一条错误消息:

配置错误说明:在安装过程中发生错误 处理服务请求所需的配置文件。 请查看下面的具体错误详细信息并修改您的 配置文件。

[-snip-]

...

奇怪的是 - 该行在我的 MVC 的 Web.config(使用 .NET 4.0 构建)中 - 而不是在较旧的 Web 应用程序的 web.config(即 .NET 2.0)中。也就是说,如果我将旧 Web 应用程序的 AppPool 设置为 .NET 2.0。

如果我将 AppPool 设置为 .NET 4.0(对于较旧的 Web 应用程序),则会收到以下错误:

提供程序选项中“compilerVersion”属性的值 如果您正在为 4.0 或更高版本进行编译,则必须是“v4.0”或更高版本 .NET 框架的。 [-snip-]

第一个问题似乎“更接近于纠正”,但我在 Google 上找不到任何能真正描述问题所在以及更重要的是如何解决问题的内容。我将不胜感激。

【问题讨论】:

  • 子站点是否在 IIS 中设置为应用程序?
  • 是的。它们是主站点下的 Web 应用程序。

标签: asp.net .net asp.net-mvc deployment iis-7.5


【解决方案1】:

好的。我想我想通了……

我将服务器设置为 MVC 站点。该 MVC 站点中的所有内容都可以正常工作/启动,所以这是成功的。

然后我开始在站点下添加 Web 应用程序,每个应用程序都是 ASP、WebForms 应用程序之一。我必须进行一些配置 - 具体来说,我必须使用在 Scott Hanselman's blog on mixing child applications 上找到的信息 - 以防止设置“向下渗透”到 Web 应用程序中。

最后,对于经典的 ASP 页面(其中还剩下几个),我必须为这些位置(同样,在站点下方)提供虚拟文件夹,并且我必须在我的服务器上启用 ASP(不是 ASP.NET 已经为其他一切启用)。我还必须在顶级站点的 ASP 设置中启用父路径,以使 ASP 页面正常工作。当然,我会尽快将其余的 ASP 页面转换为 MVC,然后我可以完全取消对它的支持。

希望这对其他人有帮助!

【讨论】:

    猜你喜欢
    • 2012-11-27
    • 1970-01-01
    • 2011-08-06
    • 2012-06-28
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    相关资源
    最近更新 更多