Поддержка данных состояния Web-сервисов с помощью свойства EnableSession
Поддержка данных состояния Web-сервисов с помощью свойства EnableSession
Вы, наверное, помните из главы 24 о том, что свойства Application и Session позволяют Web-приложению ASP.NET поддерживать данные состояния. Web-сервисы XML обеспечивают те же возможности с помощью базового класса System.Web.Services.WebService. Например, предположим, что ваш Web-сервис калькулятора поддерживает переменную уровня приложения (которая, таким образом, должна быть доступной любому сеансу), содержащую значение PI, как показано ниже.
public class CalcWebServicе: System.Web.Services.WebService {
// Этот Web-метод обеспечивает доступ к переменной SimplePI
// уровня приложения.
[WebMethod(Description = "Получение значения РI.")]
public float GetSimplePI() { return (float)Application["SimplePI"]; }
…
}
Начальное значение переменной SimplePI уровня приложения можно установить в обработчике Application_Start(), определенном в файле Global.asax. Добавьте в свой проект глобальный класс приложения (щелкнув правой кнопкой мыши на пиктограмме проекта в окне обозревателя решений и выбрав Add New Item из появившегося меню), а затем измените Application_Start() так, как предлагается ниже.
‹%@ Application Language="C#" %›
‹script runat="server"›
void Application_Start(Object sender, EventArgs e) {
Application["SimplePI"] =3.14F;
}
…
‹/script›
Вдобавок к поддержке переменных уровня приложения можно использовать свойство Session для поддержки сеансовой информации. Для примера реализуйте метод Session_Start() в файле Global.asax так, чтобы каждый зарегистрированный пользователь идентифицировался случайным значением.
‹%@ Application Language="C#" %›
‹script runat= "server"›
…
void Session_Start(Object sender, EventArgs e) {
// Чтобы сделать доступными сеансовые данные Web-сервиса,
// присвойте каждому пользователю случайное число.
Random r = new Random ();
Session["SessionRandomNumber"] = r.Next(1000);
}
…
‹/script›
С целью проверки в рамках класса Service создайте новый Web-метод, возвращающий присвоенное пользователю случайное значение.
public class Service: System.Web.Services.WebService {
…
[WebMethod(EnableSession = true,
Description = "Получите ваше случайное значение!")]
public int GetMyRandomNumber() { return (int)Session["SessionRandomNumber"]; }
}
Заметим, что здесь атрибут [WebMethod] явно устанавливает для свойства EnableSession значение true (истина). Этот шаг необходим, поскольку по умолчанию для любого Web-метода контроль его данных сеансового состояния отключен. Если вы теперь запустите два или три экземпляра браузера (чтобы сгенерировать множество идентификаторов сеанса), вы обнаружите, что каждый зарегистрировавшийся пользователь возвращает уникальное числовое значение. Например, первый пользователь может получить следующий XML-код:
‹?xml version="1.0" encoding="utf-8"?›
‹int xmlns="http://www.IntertechTraining.com/WebServers"›931‹/int›
в то время как второй может получить значение 472.
‹?xml verslon="l.0" encoding="utf-8"?›
‹int xmlns="http://www.IntertechTraining.com/WebServers"›472‹/int›
Настройка данных сеансового состояния с помощью Web.config
Наконец, напомним, что файл Web.config можно изменить с тем, чтобы в нем указывалось место, где должны запоминаться данные состояния для Web-сервиса XML. Для этого используют элемент ‹sessionState› (описанный в предыдущей главе).
‹sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" /›
Исходный код. Файлы примера CalculatorService размещены в подкаталоге, соответствующем главе 25.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Свойства и параметры сценариев, выполняемых с помощью cscript.exe
Свойства и параметры сценариев, выполняемых с помощью cscript.exe В этом случае исполнение сценария контролируется с помощью параметров командной строки для cscript.exe (табл. 1.1), которые включают или отключают различные опции WSH (все эти параметры начинаются с символов //).Таблица
Свойства и параметры сценариев, выполняемых с помощью wscript.exe
Свойства и параметры сценариев, выполняемых с помощью wscript.exe При использовании для запуска модуля wscript.exe свойства сценария можно устанавливать с помощью вкладки Сценарий (Script) диалогового окна, задающего свойства файла в Windows (рис. 1.8).После задания свойств сценария
Проверка сайта с помощью сервисов Fagan Finder
Проверка сайта с помощью сервисов Fagan
Глава 19. ПОДДЕРЖКА ЦЕЛОСТНОСТИ ВАШИХ ДАННЫХ
Глава 19. ПОДДЕРЖКА ЦЕЛОСТНОСТИ ВАШИХ ДАННЫХ РАНЕЕ В ЭТОЙ КНИГЕ, МЫ УКАЗЫВАЛИ НА ОПРЕДЕЛЕННЫЕ связи которые существуют между некоторыми полями наших типовых таблиц. Поле snum таблицы Заказчиков, например, соответствует полю snum в таблице Продавцов и таблице Порядков. Поле cnum
Передача и получение пользовательских данных состояния
Передача и получение пользовательских данных состояния Заключительным аспектом нашего рассмотрения асинхронных делегатов будет обсуждение последнего из аргументов метода BeginInvoke() (этот аргумент у нас до сих пор был равен null). С помощью этого параметра можно передать в
Обновление базы данных с помощью объекта адаптера данных
Обновление базы данных с помощью объекта адаптера данных Адаптеры данных могут не только заполнять для вас таблицы объекта DataSet. Они могут также поддерживать набор объектов основных SQL-команд, используя их для возвращения модифицированных данных обратно в хранилище
Добавление пользовательских данных состояния представлений
Добавление пользовательских данных состояния представлений В дополнение к свойству EinableViewState базовый класс System.Web. UI.Control предлагает наследуемое свойство ViewState. Это свойство в фоновом режиме обеспечивает доступ к типу System.Web.UI.StateBag, представляющему все данные поля __VIEWSTATE.
Несколько слов о данных состояния элементов
Несколько слов о данных состояния элементов В ASP.NET 2.0 предлагается поддержка состояний элементов управления, а не только состояния представлений. Эта технология оказывается очень удобной при работе с созданными вами Web-элементами управления ASP.NET, которые должны
Поддержка данных состояния приложения
Поддержка данных состояния приложения Тип HttpApplicationState предоставляет возможность совместного использования глобальной информации для множества сеансов в приложении ASP.NET. Например, можно иметь одну строку соединения, используемую всеми страницами приложения, один общий
Изменение данных состояния приложения
Изменение данных состояния приложения В ходе выполнения Web-приложения с помощью членов типа HttpApplicationState вы можете программно модифицировать или удалить любые или даже все члены уровня приложения. Например, чтобы удалить конкретный элемент, нужно просто вызвать метод
Сохранение данных состояния с помощью ‹sessionState›
Сохранение данных состояния с помощью ‹sessionState› Наиболее мощным элементом файла Web.config является ‹sessionState›. По умолчанию ASP.NET запоминает данные сеансового состояния с помощью *.dll в рамках рабочего процесса ASP.NET (aspnet_wp.exe). Подобно любому файлу *.dll. положительным моментом
Описание Web-метода с помощью свойства Description
Описание Web-метода с помощью свойства Description Как и в случае атрибута [WebService], свойство Description атрибута [WebMethod] позволяет описать функциональные возможности Web-мeтoдa.public class Service: System.Web.Services.WebService { [WebMethod(Description = "Вычитание целых чисел.")] public int Subtract (int x, int y) { return x – y;
19.7. Распространение талонов с помощью веб-сервисов
19.7. Распространение талонов с помощью веб-сервисов Постановка задачи Требуется, чтобы пользователи могли скачивать прямо с вашего сайта талоны, снабженные цифровой
5.3 Мониторинг состояния системы, устранение ошибок, восстановление утерянных файлов и защита данных Анализ состояния аппаратной части системы
Введение Как и всякая техника, персональный компьютер нуждается в техническом обслуживании, настройке и наладке. Небрежное отношение к своей машине приводит к тому, что работа компьютера становится нестабильной и не эффективной. А потом происходит сбой, и компьютер