IHttpModule的初始化没有被解雇
问题描述:
我有问题contextInfoIHttpModule的初始化没有被解雇
[WebMethod]
[SoapHeader("UserInfo", Direction = SoapHeaderDirection.In)]
public void TestContext()
{
var user = ContextInfo.Current.User.LoginName;
}
UserInfo _userInfo;
[System.Xml.Serialization.SoapElement(IsNullable = true)]
public UserInfo UserInfo
{
get { return _userInfo; }
set { _userInfo = value; }
}
当我跑我在当地的一切ASMX去罚款,将其输入到
public void Init(HttpApplication httpApp).
但是当我在服务运行我的web它不,我得到错误在
ContextInfo.Current.User.LoginName;
因为目前为空。
我通过远程调试器检查了这一点。
我有Windows Server 2008和我在像我的服务器域。
public class AuthenticateRequestHttpModule : IHttpModule
{
private HttpApplication mHttpApp;
public void Init(HttpApplication httpApp)
{
this.mHttpApp = httpApp;
mHttpApp.AuthenticateRequest += new EventHandler(OnAuthentication);
}
...
}
ContextInfo:
public class ContextInfo
{
public static void Create(User user)
{
HttpContext.Current.Items.Add(ITEM_KEY, new ContextInfo(user));
}
public static ContextInfo Current
{
get
{
return HttpContext.Current.Items[ITEM_KEY] as ContextInfo;
}
}
private ContextInfo(User user)
{
_user = user;
}
public User User
{
get { return _user; }
}
User _user;
private const string ITEM_KEY = "ContextInfo";
}
任何想法?
答
应用程序池出现问题。
你可以分享'ContextInfo'的代码,特别是'ContextInfo.Current'。 – 2010-06-21 17:15:45
@Chris Taylor我已添加 – user278618 2010-06-23 08:27:38