У меня есть веб-служба ASMX, размещенная рядом с моим веб-приложением ASP.NET. Теперь мне нужно получить сеанс пользователей в Webservice. Чтобы проверить это, я сделал этот простой метод:
[WebMethod(EnableSession = true)]
public string checkSession()
{
return HttpContext.Current.Session["userid"].ToString();
}
Итак, сначала я зашел в свой веб-приложение, а затем в браузере перешел на мою веб-службу и нажал "checkSession" на этой автоматической тестовой странице. Я тестировал это на 3 компьютерах. Все 3 из них отлично работают с webapp (поэтому сеансы создаются и т.д.), А 2 из них возвращают значение Session [ "userid" ] при вызове веб-метода, однако последний компьютер возвращает "Ссылка на объект, не установленную на экземпляр объекта", поскольку Session имеет значение null.
Итак, в чем разница между этими компьютерами и почему мое приложение ASP.NET может получать сеансы на всех компьютерах, но веб-служба не может?