Zwiększenie Timeout – limitu czasu przewidzianego na operację

W przypadku generowania bardzo dużej ilości położeń (przykładowo 50 tysięcy położeń) w aplikacji Comarch WMS Zarządzanie, niezbędne jest zwiększenie limitu czasu przewidzianego na tą operację (tzw. Timeout).

W przeciwnym wypadku przy próbie generowania tak dużej ilości położeń zostanie wywołany błąd HTTP 500.

Aby zwiększyć limit czasu ponad 10 minut (domyślnie ustawiona wartość) wymagana jest ręczna konfiguracja środowiska. W tym celu należy zmodyfikować pliki machine.config, które znajdują się w katalogach:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config

W pliku machine.config szukamy sekcji:
<configuration>
<configSections>
<sectionGroup name=”system.transactions” ….
<section name=”machineSettings”

i zmieniamy wartość parametru:
allowDefinition=”MachineOnly” allowExeDefinition=”MachineOnly”
na
allowDefinition=”MachineToApplication” allowExeDefinition=”MachineToApplication”.

Następnie w katalogu z aplikacją Comarch WMS Zarządzanie, należy edytować plik web.config, a mianowicie szukamy </configuration> i przed tą linią wpisujemy:
<system.transactions>
<defaultSettings timeout=”01:00:00″ />
<machineSettings maxTimeout=”1:00:00″/>
</system.transactions>

W powyższym przykładzie maksymalny Timeout został ustawiony na 1 godzinę. Następnie należy zrestartować usługę IIS.

Uwaga

Jeśli istnieje potrzeba zwiększenia timeout dla usługi synchronizacji (standardowo 10 minut), również należy dokonać powyższych zmian w pliku machine.config i dodatkowo, w pliku konfiguracyjnym usługi synchronizacji Synchronization.Service.exe.config dodać parametr <machineSettings maxTimeout/>, jednocześnie zmieniając wartość w <defaultSettings timeout/> tak jak poniżej:

<system.transactions>
<defaultSettings timeout=”01:00:00″ />
<machineSettings maxTimeout=”01:00:00″ />
</system.transactions>

Czy ten artykuł był pomocny?