Любые переменные, которые вы хотите сохранить между постбэками, должны входить либо в статические переменные, в состояние просмотра / сеанса, в кэш ASP.NET или в другую форму хранилища резервных копий.
Когда вы отправляете обратно, вам нужно будет пойти и забрать его из любого резервного хранилища, который вы выбрали.
Я не пытаюсь комментировать, как вы выполняете асинхронную задачу.
Что происходит, так это то, что ваша переменная потока является локальной для страницы. Когда происходит обратная передача, жизненный цикл страницы завершается, и все ссылки на переменную теряются. Каждый постбэк запускает новый жизненный цикл страницы.
Вы столкнетесь с этой проблемой всякий раз, когда у вас есть состояние, находящееся на сервере, которое вы должны помнить между постбеками. ViewState
- это то, как элементы управления ASP.NET запоминают свое содержимое между постбеками, без необходимости каждый раз их заполнять.