我有一个传统的经典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从未真正处理过该文件。
有什么想法吗?
答案 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应用程序中进行索引操作。