我的情况有点棘手。我正在使用 JavaScript 的 PageMethod 功能,其中我正在调用一个像 gem 一样工作的 PageMethod。但是,我在访问 HttpContext 的状态时遇到问题,该状态返回值“SYSTEM”
HttpContext.Current.User.Identity.Name
这不是实际的当前用户名。
我知道有几个选项,例如将 HttpContext.Current 存储在 Session 中或将 Context 的状态保存在其他一些自定义容器中,但鉴于网络农场环境,我假设这不会按预期工作。
这是我正在使用的代码
function MyFunction(){
PageMethod.MyPageMethod();
}
这是服务器方法的签名
[System.Web.Services.WebMethod()]
public static void MyPageMethod()
{
// gives me "SYSTEM"
var user = HttpContext.Current.User.Identity.Name;
}
此外,如果我使用上面的代码在页面的 OnLoad 事件中访问用户名,那么它可以正常工作并返回 CurrentUserName。
我试图让上面的代码在 ASP.NET Webform 中工作...... :)
所以我想知道是否有一种方法可以在不使用会话的情况下访问页面方法中的当前实际用户。
任何帮助将不胜感激。
尼克...