我有一个用于检查特定请求的 ASP.NET 站点(global.asax 中的 Begin_request)。如果某个请求进来,在这种情况下是通过 javascript 执行的,反射用于运行类中的方法。
string[] parts = HttpContext.Current.Request.Path.Replace(".aspx", "").Split('/');
string cls = "" + parts[2];
string func = parts[3];
Type type = Type.GetType(cls,true);
object instance = Activator.CreateInstance(type);
type.InvokeMember(func, BindingFlags.Default | BindingFlags.InvokeMethod, null, instance, null );
我的问题是该方法何时执行HttpContext.Current.Session
并且HttpContext.Current.User
都为空。我怀疑这与该方法通过反射执行的事实有关。