CSLA .NET 3.6.1 RC1 availableCSLA .NET 3.6.1 RC1 available
Old forum URL: forums.lhotka.net/forums/t/6300.aspx
RockfordLhotka posted on Friday, January 30, 2009
I'd hoped to release 3.6.1 today, but a flurry of last minute issues this week leads me to believe it is smarter to make this a release candidate instead of a release. This is the final pre-release of 3.6.1, and will be the actual release barring any show-stopping bugs or build issues anyone points out to me.
I believe the code is quite stable and ready for release, but I'd rather err on the side of caution. Here are the download links:
Download CSLA .NET for Windows
Download CSLA .NET for Silverlight
Version 3.6.1 includes some important bug fixes, along with some moderate new features. Most of the new features are addressing oversights in 3.6.0 that block important scenarios (making methods virtual, adding extensibility points, fleshing out ObjectFactory, etc).
If you are using 3.6.0 you will absolutely want to move to 3.6.1 immediately, so please help me out by trying this release candidate to ensure there are no breaking issues.
Thank you!
paupdb replied on Sunday, February 01, 2009
Hi Rocky,
Any chance you could sneak the following change into the 3.6.1 release?
Make the Csla.Core.FieldManager.PropertyInfoManager class public in the cslacs .Net solution.
The reason I ask this is because currently there is no way to access the registered properties using a type. If there is please let me know how!
We have written a lot of stuff to run off the register properties and often we want to work with the type rather than an instance in order to get at the properties. For example we are using an extended PropertyInfo which holds custom attributes like sql column name - we use these attributes to dynamically build simple sql statements. In a lot of situations, being able to get at these properties (and thus their custom attributes) directly off of the class type makes things a lot cleaner.
Currently we have to modify the framework ourselves to make the PropertyInfoManager public in the .Net solution side. This is the only mod we make to CSLA at the moment, and obviously it would be cool if this too was part of the standard framework
ajj3085 replied on Tuesday, February 03, 2009
I just upgraded to 3.6.1 RC1. I did the upgrade because AddBusinessRules is not being called when using a remote data portal, and it sounded like the force init issue.
My case is a bit different though; I subclass the non-generic Csla.Core.BusinessBase.. so I don't know if that is affecting anything.
I'm going to add the _forceInit code and see if it resolves the issue. I'll post back either way.
ajj3085 replied on Tuesday, February 03, 2009
Ok, the _forceInit trick isn't working. So I guess this is something else.
RockfordLhotka replied on Tuesday, February 03, 2009
ajj3085:
My case is a bit different though; I subclass the non-generic Csla.Core.BusinessBase.. so I don't know if that is affecting anything.
I don't know either - I don't think I have many (if any) tests for objects created directly off Csla.Core.BusinessBase.
You are saying that AddBusinessRules() isn't being called - on the client or server?
And I assume you know that this method is invoked once per AppDomain per type - so it would be called exactly 2 times for a given business object type in a 3-tier model.
ajj3085 replied on Tuesday, February 03, 2009
It was on the client the method wasn't being called at all... but it wasn't anything to do with _forceInit, so I started the other thread. The issue was that I wasn't calling base.OnDeserialized in my Document class.
Fintanv replied on Wednesday, February 04, 2009
Rocky,
I just downloaded the RC1 version today (upgrade from the prior 3.6.1 beta), and there is a problem with the WPF property status control (I think ;-). It looks like the following method was added: CheckProperty(). In this method an assumption is made that the Source property is never null. I was getting a null reference exception after the upgrade. I modified the code as follows, and it resolved the issue:
private void CheckProperty()
{
if (Source != null)
{
var desc = Csla.Reflection.MethodCaller.GetPropertyDescriptor(Source.GetType(), Property);
if (desc != null)
_isReadOnly = desc.IsReadOnly;
else
_isReadOnly = false;
}
else
_isReadOnly = false;
}
Best Regards,
Fintan
RockfordLhotka replied on Wednesday, February 04, 2009
Thank you for finding that – Sergey also reported the
issue and it has been fixed in svn.
Rocky
From: Fintanv
[mailto:cslanet@lhotka.net]
Sent: Wednesday, February 04, 2009 2:22 PM
To: rocky@lhotka.net
Subject: Re: [CSLA .NET] CSLA .NET 3.6.1 RC1 available
Rocky,
I just downloaded the RC1 version today (upgrade from the prior 3.6.1 beta),
and there is a problem with the WPF property status control (I think ;-).
It looks like the following method was added: CheckProperty(). In this
method an assumption is made that the Source property is never null. I
was getting a null reference exception after the upgrade. I modified the
code as follows, and it resolved the issue:
private void CheckProperty()
{
if (Source
!= null)
{
var desc = Csla.Reflection.MethodCaller.GetPropertyDescriptor(Source.GetType(),
Property);
&nbs
p; if (desc != null)
_isReadOnly = desc.IsReadOnly;
else
_isReadOnly = false;
}
else
_isReadOnly = false;
}
Best Regards,
Fintan
Copyright (c) Marimer LLC