2009-07-27 75 views
1

我有两个应用程序使用ASP.NET MVC,每个都有多个控制器。IIS - ASP.NET MVC重定向

我想做一个从应用程序A到应用程序B的重定向,但仅限于应用程序A(一个控制器)上的单个路由。

例如,

/applicationA /问题/ *应该重定向到/ applicationB /问题/

/applicationA /质量/不应该重定向

的IIS重定向的例子我展示了如何点击一个文件示例/文件夹并启用重定向,但我试图做一个路线,而不是一个物理路径。

我不想修改ASP.NET源代码(如果可能的话)。

谢谢。

编辑 - 这是在IIS2上的Win2k3。

回答

1

是的,最后一点是一个真正的警告。如果这是在IIS7上,它会100%更容易!

您可以下载其他应用程序来完成重定向工作,但是编辑MVC应用程序并不困难。假设/问题/和/质量/是不同的路线,为什么不做这样的事情:

public class MyController 
{ 
    public RedirectResult Issue() 
    { 
    //return as a redirect 
    return Redirect("http://applicationb/issue"); 
    } 

    public ActionResult Quality() 
    { 
    //This is here to show that, instead of redirecting, it returns a view. 
    return View(); 
    } 
} 
1

您可以使用URLRewriting.NET根据正则表达式模式进行重定向。

+0

我同意。作为IIS6的解决方案,UrlRewriting.NET可能是最好的。 @迈克尔,你可能想要添加到答案的网址是http://urlrewriting.net/149/en/home.html。 – 2009-07-28 10:16:14

+0

@dan - 谢谢,我添加了链接! – 2009-07-29 14:47:14