IHttpModule Init не запущен - PullRequest
0 голосов
/ 21 июня 2010

У меня проблема с contextInfo

[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).

Но когда я запускаю свой веб-сервис в сервисе, это не так, и я получаю ошибку в

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";
}

Есть идеи?

1 Ответ

0 голосов
/ 23 июня 2010

возникла проблема с пулом приложений.

...