search cancel

Workflow Project times out after changing the project start type from Auto Start to Form Start.

book

Article ID: 173464

calendar_today

Updated On:

Products

Workflow Solution

Issue/Introduction

Workflow Project of Workflow type times out after changing the project start type from Auto Start to Form Start.

Error System.Threading.ThreadAbortException: Thread was being aborted.
    at LogicBase.Core.ExecutionEngine.AbstractExecutionEngine.RunComponent(TLExecutionContext context, IData data, IOrchestrationComponent comp)
    at LogicBase.Core.ExecutionEngine.AbstractExecutionEngine.RunEngine(List`1 executionQueue)

 

Error Error starting/continuing dialog model execution
    System.Exception: Execution Engine Exception  ---> System.Threading.ThreadAbortException: Thread was being aborted.
    at LogicBase.Core.ExecutionEngine.AbstractExecutionEngine.RunComponent(TLExecutionContext context, IData data, IOrchestrationComponent comp)
    at LogicBase.Core.ExecutionEngine.AbstractExecutionEngine.RunEngine(List`1 executionQueue)
    --- End of inner exception stack trace ---
    at LogicBase.Core.ExecutionEngine.AbstractExecutionEngine.RunEngine(List`1 executionQueue)
    at LogicBase.Core.ExecutionEngine.AbstractExecutionEngine.ExecuteComponent(IData data, IOrchestrationComponent component)
    at LogicBase.Core.Models.Workflow.WorkflowExecutionEngine.StartInternal(String trackingId, IData data, String modelName, IData globalData, String testRunId, TestingScenario testingScenario)
    at LogicBase.Core.Models.Workflow.WorkflowExecutionEngine.Start(IData data)
    at LogicBase.Core.Models.Workflow.EmbeddedDialogModel.WorkflowDialogHTTPHandler.StartWorkflow(HttpContext context, DialogSession session, WorkflowDeploymentInfo deploymentInfo)
    at LogicBase.Core.Models.Workflow.EmbeddedDialogModel.WorkflowDialogHTTPHandler.StartDialog(HttpContext context, DialogSession session)
    at LogicBase.Core.Models.Dialog.DialogHttpHandlerBase.System.Web.IHttpHandler.ProcessRequest(HttpContext context)

Cause

Form Start comes with two important limitations similar to WebForm type projects:
1. The process is only alive until the browser window used to start the process is open.
2. IIS timeouts apply - most importantly httpRuntime executionTimeout.

Resolution

Specifically httpRuntime executionTimeout can be a problem as it defaults to 90 seconds.

To change the setting edit the web.config and add executionTimeout attribute to httpRuntime. httpRuntime with some attributes should already exist but without executionTimout. For example like this:
<httpRuntime maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" executionTimeout="190"/>

The specific timeout value has to be based on how long the project is expected to run.