Sha*_*ean 15 asp.net-mvc asp.net-mvc-3
如何在不使用主机的情况下获取主机Request?此代码可以放在控制器中:
return String.Equals(this.Request.Url.Host, absoluteUri.Host, StringComparison.OrdinalIgnoreCase);
Run Code Online (Sandbox Code Playgroud)
但我正在将它从控制器中移出,需要找到另一种方法来取代它this.Request.Url.Host.
我的目的是在helper类中访问此方法:
Url.IsLocalUrl(returnUrl);
Run Code Online (Sandbox Code Playgroud)
我的帮助方法如下所示:
public static string GetLocalUrl(string url)
{
if(Url.IsLocalUrl()){
return url;
}
else{
return Action("Security", "Home");
}
}
Run Code Online (Sandbox Code Playgroud)
san*_*oIT 19
您可以在控制器外使用它:
System.Web.HttpContext.Current.Request.Url
Run Code Online (Sandbox Code Playgroud)
Vad*_*dim 10
使用 HttpContext.Current.Request或注入HttpContextBase任何需要此信息的实例.我建议选项2,因为您可以轻松测试其他组件.由于HttpContextBase可以被模拟/存根.
| 归档时间: |
|
| 查看次数: |
33811 次 |
| 最近记录: |