Если ваша служба WCF хранит информацию в базе данных, то информация, хранящаяся по одному запросу, будет отправлена в базу данных, а когда другой запрос получит ее, результат будет получен из этой базы данных. Так что, если один клиент что-то сохранил, другой мог бы его извлечь.
Причина, по которой это не работает, заключается в том, что в ответ на каждый запрос ваше приложение создает новый экземпляр класса TEST_Service
. Это означает, что TEST_string
, где вы храните значения между запросами, является новым string
. Не содержит предыдущего значения.
Для экспериментов вы можете попробовать изменить строку на static
:
static string TEST_string;
... и тогда значение будет сохраняться между экземплярами класса обслуживания. Но это все равно не будет эффективным, потому что ваша служба WCF может быть развернута на нескольких серверах, и тогда у каждого будет отдельный экземпляр класса. Обновление одного не обновит другие. Или, если приложение-служба перезапустится, значение будет потеряно. (Из контекста я предполагаю, что вы просто экспериментируете с этим.)
Таким образом, в конечном итоге вы захотите сохранить данные, которые не будут зависеть ни от одного из этих факторов, но будут «выживать», даже когда экземпляр класса обслуживания выйдет из области видимости или приложение закроется.