将ASP.NET MVC 2与经典ASP集成

时间:2010-04-22 16:49:38

标签: asp.net-mvc asp-classic

我正在将大型经典ASP应用程序移动到ASP.NET MVC 2.问题:

我的问题是项目组织。

我宁愿不将MVC代码与同一VS项目中的ASP代码混合使用。我想要一个MVC WAP,其区域与我正在迁移的网站部分相匹配。例如,旧网站有一个文件夹

  

/products/default.asp .....

     

/products/productName/default.asp

在MVC WAP中,我想要一个名为“产品”的区域,然后我可以通过重写,路由,或者最好通过一些IIS配置,指向ASP站点上的“products”文件夹至。通过这种方式,我可以逐步将根文件夹从ASP站点移动到MVC应用程序。

但是,如果我在虚拟文件夹中创建MVC WAP,那么我的路线看起来像

  

http://localhost/virtualFolder/products

而不是

  

http://localhost/products

有关如何征服此事的任何建议吗?

我知道,在部署期间,我可以将MVC WAP部署到ASP站点的根目录中,但这对调试没有帮助。

1 个答案:

答案 0 :(得分:1)

我会写我的答案,假设它托管在IIS7实例上。如果它是IIS6,那么你需要为它寻找合适的ModRewrite模块。

所以,假设IIS7,使用URL Rewrite会更好: http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

您可以在IIS7管理控制台中管理重写规则并重写地图,具体取决于您的访问和控制级别,也可以通过web.config文件手动管理。

这些重写规则和地图可以像您需要的那样简单或复杂。您还可以将它们设置为临时或永久重定向 - 如果任何搜索引擎正在为站点编制索引,这将有助于通过HTTP请求返回正确的重定向代码,以确保快速更新爬网程序结果。