Rockford Lhotka
    CTO at Magenic
    Author, speaker, software architect
    Creator of the CSLA .NET framework

About me
Contact me


Version 2.1.2 Change Log


2.1.2 Change Log


This document is the change log for version 2.1.2 of CSLA .NET.


Breaking change summary:

  • The way e.StopProcessing is handled when your rule method sets it to true is changed

this is unlikely to break your code


Known issues:


It does not work to add a CslaDataSource to a page by choosing to “add a new data source” from within the GridView or DetailsView controls. Attempting to do this will result in an exception that prevents the control from displaying properly. I have been unable to resolve this issue, but there is a viable workaround.

You must manually add a CslaDataSource control to your page, either using drag-and-drop from the Toolbox, or by typing the tag into the page. Then you can configure the assembly/type information in the data source control. Then you can choose this data source control as the data source for your GridView or DetailsView control.


Changes and Enhancements:


Csla – ValidationRules

Changed the way e.StopProcessing is handled, so setting this value to true in a rule method triggers short-circuiting regardless of whether the rule method itself returns true or false. This will only impact existing code if your rule method is setting e.StopProcessing to true and also returning true from the rule method itself.


Csla – ValidationRules

Add an overload for AddDependantProperty() that accepts a Boolean to indicate that a bi-directional association should be established. In other words, if this new parameter is true then a reverse dependency is set up as well as the requested dependency.


Csla – SortedBindingList

Fix a null reference bug in CompareTo() by adding a check to see if the Key value is null.


Csla – SortedBindingList

Fix a bug in the RemoveAt() method, where the method wasn’t working with descending sorts.


Csla – SortedBindingList

Fix a bug with event handling when removing items.


Csla – FilteredBindingList

Fix a bug in how the ListChanged event is cascaded from the source list through FitleredBindingList.


Csla – FilteredBindingList

Fix a bug so when a custom filter is passed as a parameter to ApplyFilter() it is now used.


Csla – SelectObjectArgs

Mark the class as Serializable so it can be included in a Criteria object.


Csla – SelectObjectArgs

Add properties to expose paging and sorting values to the UI and business object. These properties allow either the UI or business object to more easily implement both paging and sorting.


Csla – BrokenRulesCollection

Increment the broken rule count before adding the newly broken rule in the Add() method. This change should resolve an incompatibility with the ActiveObjects add-on for CSLA .NET.


Csla – SharedValidationRules/SharedAuthorizationRules

Make the methods threadsafe.


Csla – BusinessBase

Fix threading issues with per-type rule processing where AddBusinessRules() and AddAuthorizationRules() could be called multiple times simultaneously on different threads. Locking is now used to prevent multiple calls.


Csla\Windows – ReadWriteAuthorization

Fix issue where the control was using a collection rather than the current child item to determine the authorization for a form. The control now uses the Current property to retrieve the specific object to which the form’s controls are bound, rather than the higher level DataSource property.


Csla – BusinessListBase

Address the case where AllowRemove is toggled from true to false over the life of the collection, and where a subsequent Save() operation then needs to remove items from the list due to their edit level. The UndoChanges() method now temporarily sets AllowRemove to true so these items can be removed without an exception.



(Updated 1/25/2007 5:24:06 PM)