-
Prior to version 4.5 the data portal supported 3- and 4-tier deployments. In a 3-tier deployment the layers and tiers are named like this: Client -> Server -> <your database goes here> or Silverlight -> Client -> <your database goes here> In a 4-tier deployment the layers and...
-
The CSLA books cover version 4.0-4.3. The data portal has changed _significantly_ in 4.5 because we now fully support async/await. The new async/await behaviors in .NET introduce some interesting exception handing issues, and I tried to handle them in a meaningful way. Because your DP_XYZ or factory...
-
I love your avatar graphic - SPOON!! :) The data portal only really requires a synchronous binding. But I'm guessing that the MQ binding is async, so it probably won't work, at least not easily. To put it another way, the client-side data portal proxy must appear to be synchronous. So you could...
-
[quote user="ngm"] Let's say I've got Order BO. When it's on the server-side Data Portal, prior to its persistence, it has to coordinate interaction with several other BOs such as Customer, ProductList and GeneralLedger. Order simply calls factory method on each of those objects...
-
GlobalContext should flow one-way, from the caller to the callee. If that doesn't happen then that's a bug. But if Principal is flowing then I suspect the context dictionaries are flowing as well - but again, bugs are possible. You are right that it doesn't automatically flow back to the...
-
Many of my design thoughts were captured in my blog as I was doing the work for .NET 4.5 last year. For example: http://www.lhotka.net/weblog/CSLADataPortalChangesInVersion45.aspx There are two basic goals. First, on the client-side data portal I want to enable the use of the await keyword when calling...
-
The server-side data portal is never actually async, because the top-level invocation from WCF (or any other data portal host) is ultimately synchronous. My goal was to enable the scenario where you implement async behaviors within your DataPortal_Fetch or factory methods. It is also the case that the...
-
This approach allows your web server code to leverage the full data portal behavior for routing requests. Most importantly, you might choose to use something other than the WCF channel to communicate with your app server, so delegating to WcfProxy or WcfPortal would be bad as it would eliminate all your...
-
It might be that you can't mix enterprise services and transactionscope transactions. When you mark your DataPortal_XYZ method as Transactional(EnterpriseServices) the data portal routes your call through a COM+ component that requires a COM+ transaction. So by the time your DataPortal_XYZ method...
-
The behavior of the data portal has changed quite a bit from 4.3 to 4.5. This is because the data portal in Silverlight now works the same as in other platforms, and because BeginXYZ and XYZAsync now work the same. One primary area of change is when calling BeginCreate or BeginFetch and using the local...
-
What has happened here is a "feature not a bug". In version 4.5 the data portal in Silverlight is now the same as the data portal always has been in .NET. There is now just one data portal implementation. This does change the rules about how Silverlight interacts with the data portal a little...
-
Fix is in svn now http://www.lhotka.net/cslabugs/edit_bug.aspx?id=1131
-
Like ASP. NET, CSLA is designed to support a wide range of scenarios, including the idea of guest users, and low security transports like basicHttp and other bindings. Again, just like with any web app or service, it is up to you to understand how to secure your service or site. As Jonny points out,...
-
Have you confirmed that the User object is fully populated and correct on the client after the user logs in? The data portal doesn't do anything fancy. It just serializes the client-side Principal object to the server.
-
I hate to say it, but this is a "feature" :) The User property is stored in a static field to overcome the sad fact that WPF makes it nearly impossible to change the principal once the app is running. They really did not think through an app scenario where the user logs on and off the app without...
-
This sounds like a bug. I'm not entirely sure how to resolve the bug without creating a breaking change. If you don't implement DP_Create at all, the desired behavior IS to have it run locally. So the current implementation is "correct". Solutions that come to mind: Remove the DP_Create...
-
My fellow CSLA developers I'm seeking some suggestions from the CSLA Dev Team & the community regarding ways to dynamically toggle / switch / reconfigure the data portal to be local or remote. Let me begin with what I'm trying to achieve. We have an Silverlight application that will run in...
-
There's a lot of detail in the 'Using CSLA 4: Data Portal Configuration' book. You can set the server URL via config file, or in code by setting Csla.ApplicationContext.DataPortalUrlString
-
I was thinking that perhaps I can detect that the following are true: Client made a sync call "Server-side" code is in ExecutionLocation.Client Target method (DP_XYZ or factory method) returns Task In that case, the data portal could explicitly spin up a background thread on which it could...
-
The data portal requires that all types you pass through the data portal implement IMobileObject. The easiest way to accomplish this is to subclass one of the CSLA base types. In your case, subclass CriteriaBase. Also, make sure to use managed backing fields so they automatically serialize. Otherwise...