В папке каждого из серверов находится файл 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" />
Красным выделены интересующие нас «максимальная длина запроса» (в килобайтах) и «максимальное время обработки запроса» (в секундах).