ASP.NET MVC和Classic ASP并排

时间:2011-09-16 12:21:06

标签: 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");
    }

这应该将用户重定向到default.asp,其中Classic ASP应用程序启动。但是,当我在浏览器中点击网站的根目录时,我在'/'和'/default.asp'之间得到一个302重定向循环。

如果我直接去'/default.asp',一切正常。

我在default.asp的顶部放了一些调试代码,只打印出一些文本并停止(如果它导致了302)但似乎IIS从未真正处理过该文件。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我刚刚通过更改引用我重定向到的文件的方式来解决此问题。似乎删除前导'/'使它工作:

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

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

答案 1 :(得分:0)

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