Не делайте таких вещей.
Если вам нужно поддерживать данные между страницами, используйте состояние сеанса.Вот для чего это.Вы должны помнить, что вы получаете новый экземпляр вашего класса страниц при каждом запросе.Не используйте статику, чтобы постоянно менять данные для последующих запросов.Возможно, у вас возникнут проблемы с несколькими запросами на обновление данных одновременно.
Вы не можете делать подобные вещи с ASP.NET!
Вы, похоже, рассматриваете это так, как если бы это была программа для настольного компьютера - как будто ваш экземпляр класса и все его состояние останутся для вас в следующий раз, когда вы выполните метод на странице.Это не так - когда запрос будет выполнен, ваша страница будет удалена.Ничто о странице не останется действительным.
В частности, если обратный вызов не происходит до завершения запроса, то метод обратного вызова не должен ссылаться на что-либо, имеющее отношение к запросу, например на вашу страницу.Это потому, что обратный вызов может вызвать после того, как запрос уже завершен!Состояние повреждено или хуже.
Если вы не заставите страницу ждать обратного вызова, вам лучше не использовать их на своих страницах.Вместо этого создайте отдельную службу Windows или что-то еще и попросите ее выдать запросы и дождаться обратного вызова.Затем страница может использовать Ajax или что-то еще, чтобы спросить, завершен ли запрос, и получить ответ после его завершения.
Если вы думаете, что слышали, как я сказал, чтобы перезвонить на страницу ASP.NET,тогда вы неправильно поняли.
Создайте службу Windows.Ваша служба Windows будет размещать службу WCF, с которой будет взаимодействовать приложение ASP.NET.Служба WCF будет отслеживать, например, кто присоединился к чату, кто печатает и т. Д.
Веб-приложение не может получать уведомления, когда происходит что-то интересное.Вместо этого веб-приложение должно будет опросить службу WCF, спрашивая, произошло ли что-нибудь интересное.Когда что-то происходит, служба WCF передает «что-то» обратно в приложение ASP.NET (или, возможно, обратно на страницу, вызываемую AJAX).
Я ошибся ранее.Вы просто не можете использовать контракт обратного вызова вообще в этой ситуации.Веб-страницы не похожи на настольные приложения, по одному на пользователя, ожидающие уведомления.Они больше похожи на настольное приложение, где, когда пользователь отправляет запрос, вы берете его компьютер и даете ему новый, такой же, как он, до получения ответа.