В WCF рекомендуется не иметь состояния, когда это возможно, поскольку ваши клиенты должны вызывать вас с подходом «на вызов» - каждый вызов от клиента получает новый экземпляр вашего класса обслуживания WCF, который в идеале полностью независим от всего остального.
Если вам нужно постоянное состояние, сохраните его в постоянном хранилище - обычно это база данных.
WCF также по умолчанию полностью независим от ASP.NET и IIS и, следовательно, не может использовать объекты HttpContext, HttpSessionState и т. Д., Поскольку он может быть размещен в консольном приложении, которое не знает IIS, контекста HTTP. и т.д.
Вопрос в том, что именно вы действительно используете из этих объектов HttpSessionState и HttpApplicationState? Каким-то образом вам нужно абстрагироваться от этого или решить его другим способом, например, пусть клиент отправит вам эту информацию (в качестве параметра при вызове метода веб-службы или в качестве заголовка в сообщении), или же клиент отправит вам своего рода «токен», который позволяет вам получить соответствующую информацию, например, из. таблица базы данных.