5

我在同一台服务器上启动并运行超过 1 个 MVC 项目时遇到了很多问题……我使用的是运行默认 IIS 的 Windows XP 系统(我相信是 5.1)。

目前,我什至正在为我创建的每个项目构建 WebSetup 项目,以确保一切顺利,而使用 XCopy 可以很容易地部署这些项目。

最重要的是,我可以在以下位置运行 MVC 项目(例如 ContactManager 示例):http://servernamehttp://servername/ContactManager。但是一旦我在这两个地方都有一个项目,恐怖就开始了

“标题不是 ViewPage 的成员”-> 是的,对...
部分或组名称“system.web.extensions”已定义。-> 确定
让我 <clear /> 或 <remove /> 那个,哦,那是无效的...

甚至可以在同一台 Windows XP 机器上运行超过 1 个 ASP.NET MVC 项目(应用程序)吗?

http://server/ 根项目 (MVC)
http://server/app1 应用程序 1 (MVC)
http://server/app2 应用程序 2 (MVC)
http://server/appX 应用程序 X (MVC)

有人能说出一些注意点吗?

4

7 回答 7

4

是否有可能在同一台 Windows XP 机器上运行超过 1 个 ASP.NET MVC 项目(应用程序)?

是的,在同一台 Windows XP 机器上绝对有可能拥有超过 1 个 ASP.NET MVC 应用程序。我刚刚在运行全新 Windows XP SP3 的测试机器上创建了两个新的 ASP.NET MVC 应用程序,它们运行顺畅。

更新:

我刚刚创建了 3d 应用程序:

  • IIS 根路径更改为该应用程序
  • 添加映射.*C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
  • 检查匿名访问

仍然所有 3 个应用程序都运行良好

更新:

将.*映射到服务器根目录的C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll存在一个问题:所有非 MVC 纯 ASP.NET 应用程序都将停止工作。

回家这有帮助

于 2009-05-11T12:25:10.023 回答
3

是的,这是可能的。我有 3 个 MVC 应用程序在 1 个主 MVC 应用程序下运行。

- 主站点
           - 行政
           - 子应用程序 2
           - ...

但是,您需要检查以下详细信息。

  1. 检查主应用程序和子应用程序都设置为使用带有 aspnet_isapi.dll 的 MVC 的通配符映射。

  2. 由于 web.configs 的继承,您需要在根 MVC 应用程序中设置一个属性...将其包裹在您的 <system.web> 周围

<位置路径=“。” inheritInChildApplications="false">
   <system.web>...
</位置>
于 2009-05-11T12:21:05.023 回答
1

XP自带的IIS5.1只支持一个网站(但支持多个虚拟目录)。我相信这将是您的限制因素。

尝试在同一服务器上获取多个 MVC 应用程序时,首选 IIS6.x 及更高版本,其中您有许多网站(和许多应用程序池)。

编辑您始终可以使用免费版本的VMware Server,只需使用 XP 创建大量 VM 以进行测试/开发。

于 2009-05-11T11:19:39.823 回答
0

IIS 中是否定义了 2 个单独的应用程序?

于 2009-05-11T11:19:57.873 回答
0

在 XP 上,一个解决方案是使用带有 Mono 2.4 的 Apache 服务器。它适用于 ASP.NET MVC,甚至适用于 SQL Server (<= 2005)。希望有一天,我们会看到它与 Xamp 或 EasyPHP 的未来版本打包在一起 :) 这将使每个好奇的人都可以尝试一下。

于 2009-05-11T11:37:02.620 回答
0

确保在 IIS 管理器中将每个应用程序的根文件夹设置为不同的 Web 应用程序。

于 2009-05-11T12:06:58.243 回答
0

我遇到了这篇文章,它应该为您提供一种简单而干净的方法(使用子域):http: //blogs.securancy.com/post/ASPNET-MVC-Subdomain-Routing.aspx

于 2009-05-15T03:58:52.827 回答