Недавно брат
по оружию столкнулся с ужасным противником
в лице темной и непрозрачной
многокомпонентности геопроцессинга в
ArcGIS. Запрос уходит в службу геопроцессинга
через REST интерфейс, служба долго думает
и все заканчивается сообщением о
тайм-ауте.
In Fiddler we are
getting timeout exception in stack trace.
Server Error in
‘/ArcGIS/rest’ Application.
Request timed out.
Description: An unhandled exception occurred during the execution of
the current web request. Please review the stack trace for more
information about the error and where it originated in the code.
Exception Details:
System.Web.HttpException: Request timed out.
Source Error:
An unhandled
exception was generated during the execution of the current web
request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
Stack Trace:
[HttpException
(0x80004005): Request timed out.]
After going through
all ESRI/Microsoft forums. I have increased a) Increased
executiontime out value in web.config b) Increased GP Tool client
timeout values , but nothing worked and application fails with same
mesage. The REST tool is working fine when this executed from
browser and URL is available and correct.
Хорошо, что
хорошо кончается, добрые люди помогли
и боец порешал проблему, суть которой
в том, что IIS использует свои собственные
таймауты и по их истечению убивает
«зависший» поток.
The process got
terminated so that it couldn’t do logging in ArcGIS Server level so
that exception didn’t happen inside of the service call handling.
This means that the query handling thread got terminated from ASP.NET
/ IIS level. We have got some clue from ESRI
Forum as well.
We have added
<httpRuntime executionTimeout=”7200″/> in Web.config file
under C:\inetpub\wwwroot\ArcGIS\rest folder and our
issues are resolved. This value extended the execution time out and
process ran smoothly and client application displayed the results as
well.
Finally we learnt
from this link
”Since ASP.NET timeout is internally
implemented so that the check fires in every 15 seconds. When using
the default value, the ASP.NET aborts the query thread in 110 – 125
seconds“
Не забывайте
оттюнить web.config
Кстати, из
статьи так и не понятно, какая модель
веб-сервиса геопроцессинга была
использована — синхронная
или асинхронная.
Комментариев нет:
Отправить комментарий