异步获取HttpContext时,Request.UserHostAddress参数无效

异步获取HttpContext时,Request.UserHostAddress参数无效
代码如下
                HttpContext context = System.Web.HttpContext.Current;
                HttpRuntime.Cache.Insert("context", context);
                //简单的异步委托
                Action act = () => { };
                IAsyncResult IResult = null;
                AsyncCallback asyncCallback = t => //将耗时的操作,放到异步回调函数中
                {
                    Thread.Sleep(3000);
                    var content1 = HttpRuntime.Cache.Get("context") as HttpContext;
                };
                IResult = act.BeginInvoke(asyncCallback, null);
                act.EndInvoke(IResult);
在异步方法里,能获取到HttpContext,但是很多参数都无效了。不知道问题出在哪,现在需要获取到Request.UserHostAddress的值
我的解答思路和尝试过的方法