I am using CSLA.NET and I have problem with executing long running commands on server from client.Underlying WCF connection is terminated after a minute a client doesn't get a result.
My idea was to use second command for periodically observing progress of first command (running in new thread) as a benefit I get option get status information and result once is finnished. But unfortunately I can't get it working without getting it too much complex. Any ideas or anything in CSLA which will help me with this?
Wcf has a multitude of different timeouts. you'll need to update your config file on both ends to increase them. This page should point you in the right direction. http://www.lhotka.net/cslanet/faq/DataPortalFaq.ashx
Hi, I am aware of this option but this is just workaround and can have other consequences. I would do it as a last option. Any ideas from design point of view?
I don't consider this a workaround; you have an operation that takes longer than the default timeout, so increasing the timeout is the right way to go.
Your only alternative is to have your command BO somehow initiative an asynchronous process. For example a Windows service which will pickup on a request logged to your DB and then execute the actual work. Your data portal request will of course return very quickly, but the work the user has asked to do won't be completed, so you'll need to figure out how to handle that as well.
Putting the work on a background thread running under Asp.net would be a bad idea. Obviously this is quite a bit more work than just increasing the timeout via the config file.
Copyright (c) Marimer LLC