My strategy is to have single Principal class (built in 2.1).
This class still has all the properties and code that I wrote in 1.x but uses the 2.1 feature set.
Joe
I have it running in a test project right now. Plan to go to production code in a few days/weeks when we put the current version to bed and move to ASP.Net 2.0. Looking forward to that. Lots of work ahead though. Plan to run 1.x and 2.1 side by side. I changed the namespace in 2.1 to Csla2 and re-compiled. Works fine.
Joe
Hi Mark and Joe,
I used CSLA 1.x und 2.0 simultaneous in my smart client application side by side to update my business objects step by step. The first business objects I updated were BusinessPricipal and BusinessIdentity and they worked with my old CSLA 1.x classes very well. These are the steps I did to use CSLA 1.x and 2.0 simultaneous in one application:
* I renamed the namespaces of CSLA 1.x from “CSLA” to “CSLA1”
* I changed the assembly names in the project properties of CSLA 1.x from “CSLA*” to “CSLA1*”
After rebuilding both frameworks there was no overlapping left between them and I was able to reference them both in the same application.
* I simply used “Find and replace in files” to change my Imports-statements to use the new namespaces of the old framework: I just replaced “Imports CSLA” with “Imports CSLA1”.
* We use a Windows Service for Remoting instead of IIS. There I registered to services:
' CSLA 1.0
RemotingConfiguration.RegisterWellKnownServiceType(GetType(CSLA1.Server.DataPortal), "NameForTheOldCslaService", WellKnownObjectMode.SingleCall)
' CSLA 2.0
RemotingConfiguration.RegisterWellKnownServiceType(GetType(Csla.Server.Hosts.RemotingPortal), "DifferentNameForTheNewCslaService", WellKnownObjectMode.SingleCall)
This should be possible in a Web.config-file too, but I have never tested it.
* My application config file looked like this:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- CSLA 1.0 -->
<add key="Authentication" value="CSLA" />
<add key="PortalServer" value="tcp://xyz:12345/NameForTheOldCslaService" />
<!-- CSLA 2.0 -->
<add key ="CslaAuthentication" value ="Csla"/>
<add key ="CslaDataPortalProxy" value ="Csla.DataPortalClient.RemotingProxy, Csla" />
<add key ="CslaDataPortalUrl" value ="tcp://xyz:12345/DifferentNameForTheNewCslaService" />
</appSettings>
</configuration>
Copyright (c) Marimer LLC