DataPortal.Execute lost client connection scenario

DataPortal.Execute lost client connection scenario

Old forum URL:

KevinR posted on Thursday, June 14, 2012

I'm a bit confused about something with regard to the client/server connection.

I'm executing a long-running task via a CSLA Command object, with the high probability that the user will close the client application leaving the server executing object orphaned.

What happens in this scenario? When does the server process curl-up its feet and die? Is it possible to detect loss of the client and take some action to maybe continue the processing and serialize the results to be picked up next time the client connects?

OK several questions, hope someone can advise.




RockfordLhotka replied on Thursday, June 14, 2012

You can't reliably use a service call to execute a long-running server-side task. The data portal uses service calls to interact with the server, and therefore it also can't be used to reliably execute such tasks.

What you need to do in any scenario where you want to call a service for a long-running task, is to have the service call start or queue the task, and then to have some agent/daemon on the server actually run the task.

Microsoft has some technologies to help with this, ranging from MSMQ (System.Messaging iirc) to BizTalk Server. Alternately you can write your own Windows Service that watches a queue or database table and executes tasks from the queue/table.

KevinR replied on Thursday, June 14, 2012

Thanks Rocky. Thought I was missing something, but that makes sense.

Copyright (c) Marimer LLC