【问题标题】:Problems deploying MVC 4 application to website already hosting classic ASP将 MVC 4 应用程序部署到已经托管经典 ASP 的网站时出现问题
【发布时间】:2013-06-14 13:41:21
【问题描述】:

我正在自学 ASP.Net MVC 4 的介绍性步骤,目的是转换旧的经典 ASP 代码。因此,我在 MVC4 中制作了一个简单的 Hello World 应用程序,并希望将其部署到我们的开发服务器上。开发服务器目前反映了我们的生产环境。生产环境托管了一组经典 ASP 页面,托管在“web”目录中。

我使用 VS 中的发布按钮将 hello world 页面上传到开发服务器,将其放入“web”目录。因此,在“web”目录中,有 2 个新文件夹 /bin 和 /Views。我创建的实际页面位于 /Views/Home 目录中。

上传代码后,我打开 IE 并尝试通过导航到 localhost/views/home/index.cshtml 来查看 hello world 页面,但收到 404 错误。

然后我在 IIS 中提取目录列表并向下导航到“主”目录。我右键单击此文件夹并选择“转换为应用程序”。

此时我可以通过将 IE 定向到根 localhost 来查看我的 hello world 页面。但是,在从应用程序列表中删除“主”目录(基本上撤消“转换为应用程序”)后,当我在 IE 中拉起根目录时,仍然会显示 hello world 页面。我检查了 IIS 中的默认页面列表,我的经典 ASP 主页仍然列为首选。

所以,我有点困惑如何让 MVC 和经典的 asp 很好地结合在一起。首先,我想让我的开发服务器指向它的原始默认页面,以便它与生产环境匹配。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 asp-classic iis-7.5


    【解决方案1】:

    在 web 目录旁边为您的 MVC4 应用程序创建一个单独的目录。之后在 IIS 控制台中创建一个新的 Web 应用程序,并将源目录指向您的新应用程序目录(将新应用程序的 AppPool 设置为集成)。一切都应该正常。

    【讨论】:

    • 只会补充一点,如果您使用的是 IIS 6,则应将通配符映射添加到 %systemroot%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 以便您可以使用无扩展名 url .并确保取消选中“验证文件是否存在”
    • 谢谢 - 我不确定如何区分这两个站点,但是当我创建新站点来测试 mvc 应用程序时,我只是将它分配到端口 81 并且能够查看它通过本地主机:81。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多