HttpContext.Request.RawUrl和localhost

时间:2013-07-17 13:53:07

标签: asp.net-mvc asp.net-mvc-4

我有AuthorizeAttribute检查用户是否已登录,如果没有,则将用户重定向到登录页面。

我想在重定向到登录页面时包含returnUrl。目前,我使用 filterContext.HttpContext.Request.RawUrl 来获取当前网址。

问题是当我在IIS上托管应用程序时,例如http://localhost/TestApp1并尝试访问它,在AuthorizeAttribute中,filterContext.HttpContext.Request.RawUrl返回 / TestApp1 而不是 / ,这是不正确的。

当应用程序托管在本地IIS上时,是否有任何解决方案可以获得正确的相对路径?

1 个答案:

答案 0 :(得分:0)

你可以得到你想要的东西:

string applicationPath = filterContext.HttpContext.Request.ApplicationPath;    
string returnUrl = filterContext.HttpContext.Request.RawUrl.Replace(applicationPath, "");