我在我的ASP.NET Web应用程序中使用了Forms身份验证,并在特定表单中使用FileSystemWatcher。
它有两个事件watcher_Changed
和watcher_Created
。这些事件被正确地调用。一旦事件被触发,HttpContext.Current
将变为null。
我不明白是不是FileSystemWatcher
清除了会话。有人可以帮助我吗?代码如下。
void watcher_Created(object sender, FileSystemEventArgs e)
{
watcher_Event(sender, e);
}
private void watcher_Event(object sender, FileSystemEventArgs e)
{
try
{
if (getUserName() != null)
{
//Some Code
}
}
}
public string getUserName()
{
FormsIdentity useridentity = (FormsIdentity)HttpContext.Current.User.Identity; //Exception is thrown here. ("Object reference not set to instance of an object")
FormsAuthenticationTicket userticket = useridentity.Ticket;
string username = userticket.Name;
return username;
}
感谢您的选择。