CSLA 4.5 used over WcfProxy blocks the UI

CSLA 4.5 used over WcfProxy blocks the UI

Old forum URL: forums.lhotka.net/forums/t/11685.aspx


olbix posted on Thursday, November 08, 2012

Hi,

i'm switching our WPF-app to CSLA 4.5 .
I have just recompiled the solution with new csla dlls.

We are using the wcf-portal of csla.

Now he Save() - Method of the BusinessListBase-Class blocks the UI-Thread.

If I'm using CSLA locally all went well.

Have anyone a suggestion for me.

 

Regards

Werner

robertharris replied on Thursday, November 08, 2012

we have noticed the same issue here as well and have been looking into this today.

It appears that in the call to the Update method in WcfProxy.cs the isSync flag is set to false.

I don't have a fix for this though.

RockfordLhotka replied on Monday, November 12, 2012

The Save method is synchronous, so it should block the thread.

The BeginSave or SaveAsync methods are async and so should not block the thread.

However, if you are using the local data portal, you'll need to make sure your DataPortal_Fetch method is an async method (private async Task) or _it_ will be invoked synchronously, and that'll also block the calling thread.

olbix replied on Tuesday, November 13, 2012

Hello Rocky,

Thany You for Your response.

It is not hte problem that the Save method is synchronous.

The problem is that the call to the Save method never returns if im using the WcfProxy.

If I'm using the same call to the Save method locally it works well.

------------------------------

// TestTableList := BusinessListBase
TestTableList myList = TestTableList.New();
myList.AddNew();
myList.Save();
// this line is never reached if using the WcfProxy

---------------------------------

 

Werner

RockfordLhotka replied on Tuesday, November 13, 2012

And this is with the final release of 4.5?

I ask, because there was a bug that caused this in one or more of the pre-releases.

olbix replied on Wednesday, November 14, 2012

Yes Sir.

I've downloaded the Installer (4.5.10) from http://www.lhotka.net/cslanet/download.aspx

Here are the properties of the csla.dll:

Description        : CSLA.NET for Windows (server) and  .NET4
FileVersion        : 4.5.10.0
Product               : CSLA.NET
ProductVersion : 4.5.10.0
Copyright            : Copyright 2010-2012 Marimer LLC
Size                      : 463 KB
Date                    : 10/24/2012 5:50pm

Werner

RockfordLhotka replied on Friday, November 16, 2012

I'm able to confirm that there's a bug here. I'll add it to the bug list.

Tai replied on Monday, April 15, 2013

Hi.

Has this been fixed in the latest release?

I have just come up against this same issue.
The Save method of the BusinessListBase never returns when using WCF. There appears to be no error on the server.

 

Thanks
Tai


RockfordLhotka replied on Monday, April 15, 2013

Yes, it will be in the 4.5.30 release

https://github.com/MarimerLLC/csla/issues?milestone=4&page=1&state=closed

Tai replied on Monday, April 15, 2013

Awesome. Thanks for the quick response.

 

Tai

Copyright (c) Marimer LLC