Asp.net mvc ASP.NET MVC与经典ASP并排

Asp.net mvc ASP.NET MVC与经典ASP并排,asp.net-mvc,asp.net-mvc-3,iis,asp-classic,iis-6,Asp.net Mvc,Asp.net Mvc 3,Iis,Asp Classic,Iis 6,我有一个传统的经典ASP应用程序,我正在迁移到ASP.NET MVC 3。我让它们在IIS 6(Windows 2003)的虚拟目录中并排运行 在我的HomeController中,我有一个操作: public RedirectResult Index() { // go to our Classic ASP application for the time being. return Redirect("/default.asp"); }

我有一个传统的经典ASP应用程序,我正在迁移到ASP.NET MVC 3。我让它们在IIS 6(Windows 2003)的虚拟目录中并排运行

在我的HomeController中,我有一个操作:

    public RedirectResult Index()
    {
        // go to our Classic ASP application for the time being.
        return Redirect("/default.asp");
    }
这应该将用户重定向到default.asp,经典asp应用程序从这里启动。但是,当我在浏览器中点击站点的根目录时,在“/”和“/default.asp”之间会出现一个302重定向循环

如果我直接使用'/default.asp',一切正常

我在default.asp的顶部添加了一些调试代码,以便只打印一些文本并停止(以防它导致302),但似乎IIS从未实际处理该文件


有什么想法吗?

检查您的IIS默认页面,看看default.asp是否是其中之一。如果是这样的话,那么您只需要在MVC应用程序中一遍又一遍地为操作编制索引。

我刚刚通过更改我引用重定向到的文件的方式解决了这个问题。删除前导“/”似乎可以使其工作:

public class HomeController : Controller
{
    public RedirectResult Index()
    {
        // go to our Classic ASP application for the time being.
        return Redirect("default.asp");
    }
}

我不知道这是为什么,我只能预期它会触发IIS将请求处理回MVC。

default.asp在默认文档列表中-我不明白这为什么会导致重定向循环,即使我将其从列表中删除,同样的问题仍然存在扫描您硬编码另一个应用程序的地址?糟糕的形式,但只是为了测试。你的两个应用应该有单独的引用,对吗/可以将default.asp视为MVC中对/Index的默认引用。