Web-сервисы: Сервис по работе с историей поисковых запросов — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) (Новая страница: «<span style="color:red;font-size:120%">Статья находится на стадии разработки.</span> Версия статьи от {{REVISIONDA…») |
Biryukov (обсуждение | вклад) |
||
Строка 9: | Строка 9: | ||
Для установки Сервиса по работе с историей поисковых запросов нужно выложить распакованные файлы из архива ws-searchHistory-2009.2.XX.XXXX.zip (кроме файла Web.config) в каталог, где лежит ПК "Мастер-Web". | Для установки Сервиса по работе с историей поисковых запросов нужно выложить распакованные файлы из архива ws-searchHistory-2009.2.XX.XXXX.zip (кроме файла Web.config) в каталог, где лежит ПК "Мастер-Web". | ||
==Настройка== | ==Настройка== | ||
− | + | ||
− | + | ===Настройки в файле WEB.CONFIG=== | |
− | + | Дополнительные настройки, задаваемые в файле web.config, находящемся в папке MasterWeb позволяют задать дополнительные условия для отображения данных. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| cellpadding="20" cellspacing="0" border="1" | {| cellpadding="20" cellspacing="0" border="1" | ||
Строка 37: | Строка 25: | ||
|} | |} | ||
− | == | + | Для успешной работы сервиса в файле web.config также необходимо дополнить следующие разделы конфигурации. |
− | + | В секцию <system.serviceModel> добавить: | |
+ | <standardEndpoints> | ||
+ | <webScriptEndpoint> | ||
+ | <clear /> | ||
+ | <standardEndpoint crossDomainScriptAccessEnabled="true"></standardEndpoint> | ||
+ | </webScriptEndpoint> | ||
+ | </standardEndpoints> | ||
+ | |||
+ | В секцию <extensions> добавить: | ||
+ | <bindingElementExtensions> | ||
+ | <add name="jsonpMessageEncoding" type="Megatec.MasterWeb.Services.JSONPServicesEnabled.JsonpBindingExtension, | ||
+ | Megatec.MasterWeb.Services.JSONPServicesEnabled, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> | ||
+ | </bindingElementExtensions> | ||
+ | <behaviorExtensions> | ||
+ | <add name="searchHistoryBehaviourExtension" type="Megatec.MasterWeb.Services.SearchHistory.ServiceModelExtensions.SearchHistoryBehaviourExtensionElement, | ||
+ | Megatec.MasterWeb.Services.SearchHistory" /> | ||
+ | </behaviorExtensions> | ||
+ | |||
+ | В секцию <bindings> добавить: | ||
+ | <wsHttpBinding> | ||
+ | <binding name="CommonAnonymousBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" | ||
+ | sendTimeout="00:01:00" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxReceivedMessageSize="25000000"> | ||
+ | <readerQuotas maxDepth="32" maxStringContentLength="25000000" maxArrayLength="25000000" maxBytesPerRead="8092" maxNameTableCharCount="25000000"/> | ||
+ | <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/> | ||
+ | <security mode="None"/> | ||
+ | </binding> | ||
+ | </wsHttpBinding> | ||
+ | <customBinding> | ||
+ | <binding name="jsonpBinding"> | ||
+ | <jsonpMessageEncoding /> | ||
+ | <httpTransport manualAddressing="true" /> | ||
+ | </binding> | ||
+ | </customBinding> | ||
+ | |||
+ | В секцию <services> добавить: | ||
+ | <service name="Megatec.MasterWeb.Services.SearchHistory.SearchHistory" behaviorConfiguration="SearchHistoryBehavior"> | ||
+ | <endpoint address="Anonymous" binding="wsHttpBinding" name="Megatec.MasterWeb.Services.Contracts.ISearchHistoryAnonymous" | ||
+ | contract="Megatec.MasterWeb.Services.Contracts.SearchHistory.ISearchHistory"/> | ||
+ | <endpoint address="Json" behaviorConfiguration="webHttpBehavior" binding="customBinding" bindingConfiguration="jsonpBinding" name= | ||
+ | "Megatec.MasterWeb.Services.Contracts.ISearchHistoryJson" contract="Megatec.MasterWeb.Services.Contracts.SearchHistory.ISearchHistory"/> | ||
+ | </service> | ||
+ | |||
+ | В секцию <behaviors> добавить: | ||
+ | <endpointBehaviors> | ||
+ | <behavior name="webHttpBehavior"> | ||
+ | <searchHistoryBehaviourExtension /> | ||
+ | </behavior> | ||
+ | </endpointBehaviors> | ||
+ | <serviceBehaviors> | ||
+ | <behavior name="SearchHistoryBehavior"> | ||
+ | <serviceMetadata httpGetEnabled="true"/> | ||
+ | <serviceDebug includeExceptionDetailInFaults="true"/> | ||
+ | </behavior> | ||
+ | </serviceBehaviors> | ||
+ | |||
+ | В секцию </system.serviceModel> добавить: | ||
+ | <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/> | ||
+ | |||
+ | В секцию <excludedPaths> добавить: | ||
+ | <blowery.web> | ||
+ | ... | ||
+ | <httpCompress> | ||
+ | ... | ||
+ | <excludedPaths> | ||
+ | ... | ||
+ | <add path="SearchHistory.svc"/> | ||
+ | <add path="SearchHistory.svc/Anonymous"/> | ||
+ | <add path="SearchHistory.svc/Json/GetQueries"/> | ||
+ | <add path="SearchHistory.svc/Json/ClearQueries"/> | ||
+ | </excludedPaths> | ||
+ | |||
+ | </httpCompress> | ||
+ | |||
+ | </blowery.web> | ||
+ | |||
==Работа в системе== | ==Работа в системе== | ||
− | + | Сервис предоставляет возможность пользователю: | |
+ | * По авторизационным куки пользователя в ПК "Мастер-Web" возвращает историю поисковых запросов, выполненных из экрана "QuotedDynamic"; | ||
+ | * По авторизационным куки пользователя в ПК "Мастер-Web" очищает историю пользователя; | ||
+ | * В случае отсутствия авторизационных куки возвращает код ошибки 3, а при возникновении любой внутренней ошибки сервиса возвращает пользователю описание ошибки. | ||
+ | К сервису можно обращаться по двум адресам – по [host]/SearchHistory.svc/Anonymous (стандартный адрес для получения, передачи soap сообщения) и по [host]/SearchHistory.svc/Json/GetQueries и [host]/SearchHistory.svc/Json/ClearQueries для получения данных в формате Json. | ||
− | === | + | ===Метод GetQueries=== |
− | + | Основной метод сервиса, возвращающий список запросов пользователя к базе. | |
− | ==== | + | ====Описание принимаемых методом параметров==== |
− | + | Входных параметров нет. | |
+ | |||
+ | ====Возвращаемые значения==== | ||
+ | |||
+ | * ErrorCode – целочисленное неотрицательное значение. Может содержать следующие значения: | ||
+ | ** 0 – проверка прошла без ошибок; | ||
+ | ** 1 – внутренняя ошибка метода; | ||
+ | ** 2 – пользователь не найден в базе данных; | ||
+ | ** 3 – пользователь не имеет прав на вход в ПК «Мастер-Web». | ||
+ | * SearchHistoryQueries – структура, содержащая информацию о списке запросов пользователя: | ||
+ | ** SearchHistoryQuery – структура, содержащая информацию об одном запросе пользователя: | ||
+ | *** QueryName – строковое значение. Содержит текстовое описание на русском языке всех параметров запроса поиска; | ||
+ | *** QueryString – строковое значение. Содержит ссылку на экран поиска со всеми параметрами в GET формате; | ||
+ | *** QueryTime – строка в формате YYYY-dd-MM HH:mm:ss. Отображает время сохранения запроса в базу. | ||
+ | |||
+ | ===Метод ClearQueries=== | ||
+ | |||
+ | Метод, очищающий всю историю запросов пользователя. | ||
====Описание принимаемых методом параметров==== | ====Описание принимаемых методом параметров==== | ||
− | + | Входных параметров нет. | |
− | |||
− | |||
====Возвращаемые значения==== | ====Возвращаемые значения==== | ||
− | + | * ErrorCode – целочисленное неотрицательное значение. Может содержать следующие значения: | |
− | * | + | ** 0 – удаление прошло без ошибок; |
− | * | + | ** 1 – внутренняя ошибка метода; |
− | * | + | ** 2 – пользователь не найден в базе данных; |
− | * | + | ** 3 – пользователь не имеет прав на вход в ПК «Мастер-Web». |
− | * | ||
− | |||
− | |||
− | |||
− | |||
[[Category:Мастер-Web_Дополнительные_модули]] | [[Category:Мастер-Web_Дополнительные_модули]] | ||
[[Category:Мастер-Тур_Веб-сервисы]] | [[Category:Мастер-Тур_Веб-сервисы]] |
Версия 18:08, 6 февраля 2013
Статья находится на стадии разработки.
Версия статьи от 6-02-2013.
Содержание
Введение
Данный модуль предназначен для получения и очистки истории запросов от конкретного пользователя из экрана QuotedDynamic.aspx ПК «Мастер-Web».
Установка
Для установки Сервиса по работе с историей поисковых запросов нужно выложить распакованные файлы из архива ws-searchHistory-2009.2.XX.XXXX.zip (кроме файла Web.config) в каталог, где лежит ПК "Мастер-Web".
Настройка
Настройки в файле WEB.CONFIG
Дополнительные настройки, задаваемые в файле web.config, находящемся в папке MasterWeb позволяют задать дополнительные условия для отображения данных.
Настройка, определяющая максимальное значение записей в истории по одному пользователю, передающихся сервисом. | Целочисленное неотрицательное значение. Если настройка не указана – значение по умолчанию 10. | <add key="MaxQueriesCount" value="10" /> |
Настройка, определяющая максимальное значение записей в истории по одному пользователю.
Настройка работает в экране «Динамический лист с наличием мест». |
Целочисленное неотрицательное значение. Если настройка не указана – значение по умолчанию 10. | <add key="maxQueriesCountInHistoryPerUser" value="10" /> |
Для успешной работы сервиса в файле web.config также необходимо дополнить следующие разделы конфигурации. В секцию <system.serviceModel> добавить:
<standardEndpoints> <webScriptEndpoint> <clear /> <standardEndpoint crossDomainScriptAccessEnabled="true"></standardEndpoint> </webScriptEndpoint> </standardEndpoints>
В секцию <extensions> добавить:
<bindingElementExtensions> <add name="jsonpMessageEncoding" type="Megatec.MasterWeb.Services.JSONPServicesEnabled.JsonpBindingExtension, Megatec.MasterWeb.Services.JSONPServicesEnabled, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> </bindingElementExtensions> <behaviorExtensions> <add name="searchHistoryBehaviourExtension" type="Megatec.MasterWeb.Services.SearchHistory.ServiceModelExtensions.SearchHistoryBehaviourExtensionElement, Megatec.MasterWeb.Services.SearchHistory" /> </behaviorExtensions>
В секцию <bindings> добавить:
<wsHttpBinding> <binding name="CommonAnonymousBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxReceivedMessageSize="25000000"> <readerQuotas maxDepth="32" maxStringContentLength="25000000" maxArrayLength="25000000" maxBytesPerRead="8092" maxNameTableCharCount="25000000"/> <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/> <security mode="None"/> </binding> </wsHttpBinding> <customBinding> <binding name="jsonpBinding"> <jsonpMessageEncoding /> <httpTransport manualAddressing="true" /> </binding> </customBinding>
В секцию <services> добавить:
<service name="Megatec.MasterWeb.Services.SearchHistory.SearchHistory" behaviorConfiguration="SearchHistoryBehavior"> <endpoint address="Anonymous" binding="wsHttpBinding" name="Megatec.MasterWeb.Services.Contracts.ISearchHistoryAnonymous" contract="Megatec.MasterWeb.Services.Contracts.SearchHistory.ISearchHistory"/> <endpoint address="Json" behaviorConfiguration="webHttpBehavior" binding="customBinding" bindingConfiguration="jsonpBinding" name= "Megatec.MasterWeb.Services.Contracts.ISearchHistoryJson" contract="Megatec.MasterWeb.Services.Contracts.SearchHistory.ISearchHistory"/> </service>
В секцию <behaviors> добавить:
<endpointBehaviors> <behavior name="webHttpBehavior"> <searchHistoryBehaviourExtension /> </behavior> </endpointBehaviors> <serviceBehaviors> <behavior name="SearchHistoryBehavior"> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="true"/> </behavior> </serviceBehaviors>
В секцию </system.serviceModel> добавить:
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
В секцию <excludedPaths> добавить:
<blowery.web> ... <httpCompress> ... <excludedPaths> ... <add path="SearchHistory.svc"/> <add path="SearchHistory.svc/Anonymous"/> <add path="SearchHistory.svc/Json/GetQueries"/> <add path="SearchHistory.svc/Json/ClearQueries"/> </excludedPaths> </httpCompress> </blowery.web>
Работа в системе
Сервис предоставляет возможность пользователю:
- По авторизационным куки пользователя в ПК "Мастер-Web" возвращает историю поисковых запросов, выполненных из экрана "QuotedDynamic";
- По авторизационным куки пользователя в ПК "Мастер-Web" очищает историю пользователя;
- В случае отсутствия авторизационных куки возвращает код ошибки 3, а при возникновении любой внутренней ошибки сервиса возвращает пользователю описание ошибки.
К сервису можно обращаться по двум адресам – по [host]/SearchHistory.svc/Anonymous (стандартный адрес для получения, передачи soap сообщения) и по [host]/SearchHistory.svc/Json/GetQueries и [host]/SearchHistory.svc/Json/ClearQueries для получения данных в формате Json.
Метод GetQueries
Основной метод сервиса, возвращающий список запросов пользователя к базе.
Описание принимаемых методом параметров
Входных параметров нет.
Возвращаемые значения
- ErrorCode – целочисленное неотрицательное значение. Может содержать следующие значения:
- 0 – проверка прошла без ошибок;
- 1 – внутренняя ошибка метода;
- 2 – пользователь не найден в базе данных;
- 3 – пользователь не имеет прав на вход в ПК «Мастер-Web».
- SearchHistoryQueries – структура, содержащая информацию о списке запросов пользователя:
- SearchHistoryQuery – структура, содержащая информацию об одном запросе пользователя:
- QueryName – строковое значение. Содержит текстовое описание на русском языке всех параметров запроса поиска;
- QueryString – строковое значение. Содержит ссылку на экран поиска со всеми параметрами в GET формате;
- QueryTime – строка в формате YYYY-dd-MM HH:mm:ss. Отображает время сохранения запроса в базу.
- SearchHistoryQuery – структура, содержащая информацию об одном запросе пользователя:
Метод ClearQueries
Метод, очищающий всю историю запросов пользователя.
Описание принимаемых методом параметров
Входных параметров нет.
Возвращаемые значения
- ErrorCode – целочисленное неотрицательное значение. Может содержать следующие значения:
- 0 – удаление прошло без ошибок;
- 1 – внутренняя ошибка метода;
- 2 – пользователь не найден в базе данных;
- 3 – пользователь не имеет прав на вход в ПК «Мастер-Web».