我有以下代码:
public static string FormatHostAndUrl(this HttpSessionStateBase session)
{
var a = session["CurrentHost"];
var b = session["CurrentUrl"];
var c = string.Format("http://{0}{1}", session["CurrentHost"], new Uri((string)session["currentUrl"]).PathAndQuery);
return string.Format("http://{0}{1}", session["CurrentHost"], new Uri((string)session["currentUrl"]).PathAndQuery);
}
Run Code Online (Sandbox Code Playgroud)
我使用它来获取包括端口在内的确切URL.使用azure系统,我使用它似乎是提供正确URL的唯一代码组合.
我得到了会话变量
Session["CurrentUrl"] = Request.Url.ToString();
Session["CurrentHost"] = Request.Headers["Host"];
Run Code Online (Sandbox Code Playgroud)
我想做的是扩展Request对象,这样我可以这样做:
Session["TheRealURLI Need"] = Request.RealURL();
Run Code Online (Sandbox Code Playgroud)
是否可以使用扩展方法执行此操作?有哪些方法可以实现FormatHostAndUrl方法的功能?
public static class Extensions
{
public static string GetRealUrl(this HttpRequest request)
{
return "will the real url please stand up?";
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:这里的重点是扩展类,甚至是密封类. 无论是通过财产还是通过任何其他方式,您如何获得该HttpRequest对象都是无关紧要的Request.你扩展了类型.该物业将效仿.
| 归档时间: |
|
| 查看次数: |
948 次 |
| 最近记录: |