-
This was not the question but I wanted to raise the suggestion that you compress your data before putting into Isolated Storage. I don't know exactly what you're stuffing in isolated storage but CSLA objects when serialized can be pretty verbose - even with the adjusted serialization engine (if I remember right it does reduce it by about 80
-
We do it when the application is starting up, yep. (System with hundreds of clients) I feel like the user is potentially already getting the hit of getting the .xap, loading Silverlight itself - might as well just get the big hit up-front and load any needed "application data". What we do, and I would very highly recommend, is to stash this
-
All classes except the final one, I believe, need to be abstract. (At least that is my experience). I'm guessing your reluctance to making your base classes abstract is that you use them for polymorphic behavior. If that's correct, what I would suggest is - * make your base class abstract AND generic (I'm assuming maybe it's not?) *
-
What Jonny is suggesting is change: Basket (BLB) containing BasketItem (BB) to: Basket (BB), with whatever additional properties you want, including a property of BasketItemList (BLB) containing BasketItem (BB)
-
Are your intermediate base classes concrete or abstract? I think inheritance is very valuable in terms of providing behavior... after all, that's what we're doing from CSLA's base classes. If your intermediate class is concrete, you'll generally have problems (I've found). If it's abstract you should be good.
-
No not at all, because IsInRole is just what is exposed and the implementation to handle the bit array is encapsulated within the identity/principal. Since it's an enumeration, IsInRole is called with our RolePermission enumeration values. The method on our identity (we end up actually invoking it w/ an enumeration on a static class, not usually
-
As a suggestion, our roles are enumerated in an enumeration and we store them as a bit array in order of the enumeration on the identity. Since it's passed on each call I would echo Jonny in keeping it efficient and lightweight.
-
Not just that, but the forms auth ticket gets encrypted in the forms auth cookie; if you're just storing a user name in a cookie in plain text that seems like a problem if you're using it to pass as authentication.
-
From my experience, inheritance with properties has been relatively safe **as long as the base class is abstract** (which typically these type of base classes are). My understanding is that there is a bit of compiler wizardry happening under the hood with statics and inheritance, but we have a few base classes that leverage properties that end up getting
-
This is a good thread to read though - http://forums.lhotka.net/forums/t/11836.aspx The short answer is that our solution which resolved the 100% cpu spikes was simply to override CanReadProperty to return true (not base behavior). I may be missing something as a colleague made the changes and got more into this. Jaans (think it was him) reproduced