Конфигурация сервера терминалов и сервера печати

Последние изменение: 15.09.2017

В папке каждого из серверов находится файл Web.config, который и содержит все настройки. Номер порта, пути и галочки, показанные в предыдущих окнах, содержатся в файле Web.config соответствующего сервера. Помимо рассмотренных настроек в нем содержатся ASP.NET настройки приложения, поскольку серверы Mobile SMARTS являются веб-сервисами и их хостинг осуществляется под ASP.NET. Файл Web.config содержит примерно следующее:

<?xml version="1.0"?> <configuration>    <configSections>	  <sectionGroup name="applicationSettings" …    </configSections>    <appSettings>	  <add key="processMessages" value="True" />	  <add key="printingServiceUrl" value="http://localhost:8010/PrintingService.asmx" />	  <add key="zipdata" value="True" />	  <add key="enableDocumentBackups" value="False" />	  <add key="lockTimeout" value="0" />    </appSettings>    <connectionStrings />    <system.web>	  <httpRuntime maxRequestLength="20000" executionTimeout="3600" /><!--Set compilation debug="true" to insert debuggingsymbols into the compiled page. Because thisaffects performance, set this value to true onlyduring development.-->	  <compilation debug="true" /><!--The <authentication> section enables configurationof the security authentication mode used byASP.NET to identify an incoming user.-->	  <authentication mode="Windows" />	  …	  и т.д. 

Параметры настройки указываются в узлах «<addkey=», где «key» задает имя параметра, а «value» – его значение.

Key Value
processMessages Ведение файла «messages.log», в котором отражаются вызовы к серверу терминалов (С:\ProgramFiles\CleverenceSoft\MobileSMARTS\Server\messages.log).
True – включено.
False – выключено.
printingServiceUrl Url до сервиса печати Mobile SMARTS вида «http://...:port/PrintingService.asmx».
zipdata Включает режим при котором часть данных для обмена с терминалами (например, справочник номенклатуры) будет сжиматься и передаваться в сжатом виде.
True – включено.
False – выключено.
enableDocumentBackups Создает копию документов папку C:\Program Files\Cleverence Soft\Mobile SMARTS\Server\DocumentBackups (папку можно создать вручную или она создастся автоматически).
True – включено.
False – выключено.
lockTimeout Параметр, позволяющий избежать дедлоков на сервере, в случае если они, по какой-то причине начали возникать. Задается количество миллисекунд, по истечении которых следует прервать запрос к серверу, если он завис на запросе к захваченным ранее ресурсам.

Изменяя Web.config можно решить множество административных задач, таких как назначение прав на ресурсы, ограничения на ресурсы (используемая память, процессорное время), авторизация и многие другие.

Наиболее частая проблема, решаемая правкой Web.config связана с длиной HTTP-запроса к серверу. При выгрузке больших объемов данных (например, большого справочника номенклатуры), размер передаваемых серверу XML-данных может превысить административные ограничения. Зачем вообще нужны подобные ограничения? Безусловно, для предотвращения атак на сервер. Если размер передаваемого XML превышает максимально разрешенную величину, выдается следующая ошибка:

System.Web.Services.Protocols.SoapException: There was an exception running the extensions specified in the config file. ---> System.Web.HttpException: Maximum request length exceeded.at System.Web.HttpRequest.GetEntireRawContent()at System.Web.HttpRequest.get_InputStream()at System.Web.Services.Protocols.SoapServerProtocol.Initialize()--- End of inner exception stack trace ---at System.Web.Services.Protocols.SoapServerProtocol.Initialize()at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, …

либо русский вариант этой же ошибки, сообщающий о превышении максимальной длины запроса.

Для исправления этой ситуации следует править следующую строку в Web.config:

<httpRuntime maxRequestLength="20000" executionTimeout="3600" />

Красным выделены интересующие нас «максимальная длина запроса» (в килобайтах) и «максимальное время обработки запроса» (в секундах).