Нет, Viewstate тесно связан с использованием браузера в качестве HTTP-клиента.
Для веб-сервисов у вас есть два варианта: позволить клиенту отслеживать состояние разговора или позволить серверу отслеживать его.
Использование состояния сеанса сервера и передача cookie (либо HTTP cookie, либо какого-либо cookie-подобного параметра внутри конверта SOAP)
требует от клиента отслеживать, сохранять и, возможно, передавать на сервер состояние диалога.
О Viewstate - это состояние для страницы в том виде, как оно представлено пользователю, и в качестве реализации оно тесно связано с браузером. Когда страница отображается, информация о состоянии просмотра используется для заполнения страницы. Позже, когда форма на странице публикуется, соответствующие данные формы, некоторые из которых, возможно, были предварительно настроены с помощью магии представления состояния, затем передаются на сервер. Сервер должен проверить входные данные от клиента, несмотря на использование viewstate на стороне клиента.
Вы можете видеть, что состояние представления в сочетании с некоторой упрощенной логикой заполнения на стороне браузера - это способ для клиента управлять состоянием страницы, которую видит пользователь, но сервер не может отказаться от проверки состояния разговора.
Этот подход может быть использован в приложении веб-служб, но, поскольку нет никакой зависимости от браузера или от конкретной презентации (или любой презентации вообще), это самостоятельная работа вещь. Клиентское приложение поддерживает и использует любое диалоговое состояние способом, подходящим для клиента.
С другой стороны, управляемое сервером состояние означает, что на сервере сохраняется информация о состоянии для каждого «разговора» или «сеанса». Клиент не обязательно должен отслеживать информацию, если это делает сервер. Клиент просто представляет токен (или cookie, если хотите) серверу, и сервер использует его как ключ поиска в таблице состояний. Сервер в первую очередь отвечает за проверку всех состояний, сохраняемых от имени клиента.
Поскольку вы используете .NET, вам может быть интересно узнать, что Рабочий процесс может использоваться на стороне сервера для отслеживания состояния диалога на основе веб-сервисов (WCF) . Этот подход поддерживает сетевые протоколы WS - он не предусматривает какой-либо конкретной клиентской технологии или платформы.