【问题标题】:ASP.NET MVC and Classic ASP side-by-sideASP.NET MVC 和经典 ASP 并排
【发布时间】:2011-09-16 12:21:06
【问题描述】:

我有一个传统的经典 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 从未真正处理过该文件。

有什么想法吗?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 iis asp-classic iis-6


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • default.asp 在默认文档列表中 - 我不明白为什么这会导致重定向循环,即使我将其从列表中删除,同样的问题仍然存在
      • 你能硬编码其他应用程序的地址吗?糟糕的形式,但只是为了测试。您的两个应用程序应该有单独的引用正确吗? /default.asp 可能被视为对 MVC 中 /Index 的默认引用。
      猜你喜欢
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2013-05-17
      相关资源
      最近更新 更多