AddBusinessRules & AddObjectAuthorizationRules getting called twice per type

AddBusinessRules & AddObjectAuthorizationRules getting called twice per type

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


marthac posted on Friday, October 15, 2010

If I put a debug statement in my AddBusinessRules & AddObjectAuthorizationRules functions, like so:

#if SILVERLIGHT
            System.Diagnostics.Debug.WriteLine("SL AddObjectAuthorizationRules() called for type: " + typeof(T));
#else
            System.Diagnostics.Debug.WriteLine("NET AddObjectAuthorizationRules() called for type: " + typeof(T));
#endif

I noticed that they are being called once on the Silverlight side and once on the .NET side for each type.

Is that the expected behavior?

RockfordLhotka replied on Friday, October 15, 2010

Yes, absolutely!

They are called once per type per AppDomain. In a 3-tier deployment you have two AppDomains, one on the client and one on the server.

In a 4-tier deployment you have three AppDomains (client, web server, app server).

The rule definitions aren't serialized over the wire - that'd be very expensive. It is much cheaper to rehook the definitions on each side of the wire.

The end result is that your types have the same rules on both sides of the wire, so you can interact with the objects in either place and get the same results. That's the whole idea behind mobile objects.

marthac replied on Friday, October 15, 2010

That's what I thought.
I just was doing a sanity check here to make sure the change I just made to my AddBusinessRules & AddObjectAuthorizationRules didn't break something, because I swear these functions looked like they were getting called just once per type before.

Thanks for the clarification. Big Smile 

Copyright (c) Marimer LLC