You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Update releasenotes for version 10
* Update docs to reflect CSLA 10 platform support
- Add CSLA 10 section to CSLA-Versions.md with supported runtimes,
platforms, and new features (NRT, OpenTelemetry, Kubernetes)
- Add deprecation notices for WCF, Silverlight, Windows Workflow,
and Remoting throughout documentation
- Update What-is-CSLA-.NET.md to reference modern platforms (MAUI)
- Update Reference.md with current documentation links
- Update ASP.NET-MVC.md with CSLA 10 OpenTelemetry info
- Remove outdated Silverlight/WP7/UWP references from various docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/ASP.NET-MVC.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,15 @@
4
4
5
5
CSLA 5 and higher supports ASP.NET Core - MVC and Razor Pages - with various helper types in the `Csla.AspNetCore` namespace.
6
6
7
-
CSLA 6 and higher supports Blazor WebAssembly, and CSLA 8 and higher supports all Blazor models.
7
+
CSLA 6 and higher supports Blazor WebAssembly, and CSLA 8 and higher supports all Blazor models (Server, WebAssembly, and Auto).
8
+
9
+
CSLA 10 adds OpenTelemetry instrumentation for the data portal, enabling integration with observability platforms like Prometheus, Grafana, Azure Monitor, and .NET Aspire dashboards. See the [OpenTelemetry Dashboard](OpenTelemetry-Dashboard.md) documentation for more information.
8
10
9
11
> ℹ️ If you host code in ASP.NET Core you _must_ add the `Csla.AspNetCore` NuGet package to your project. This is true if you are using MVC, Razor Pages, server-side Blazor, or creating an app server using aspnetcore.
10
12
11
13
## ASP.NET in .NET Framework
12
14
13
-
CSLA 9 continues to support ASP.NET MVC 5 projects. You must use dependency injection in your project for CSLA to work correctly.
15
+
CSLA 10 continues to support ASP.NET MVC 5 projects on .NET Framework 4.6.2-4.8. You must use dependency injection in your project for CSLA to work correctly.
14
16
15
17
_Please remember that ASP.NET MVC does run in ASP.NET. So nearly all the FAQ items under the [Web Forms](Web-forms.md) topic apply to ASP.NET MVC as well._
Copy file name to clipboardExpand all lines: docs/Business-Object-Design.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -96,7 +96,7 @@ ERLB exists to address one very specific set of requirements: a list of root obj
96
96
97
97
## Keeping private fields in a list object?
98
98
99
-
You should not try to maintain private fields (or public properties) in a BusinessListBase or ReadOnlyListBase object. The serializer used for Silverlight and WP7 won't serialize your property values, and there is no field manager to help you in any list base classes.
99
+
You should not try to maintain private fields (or public properties) in a BusinessListBase or ReadOnlyListBase object. The serializer won't serialize your property values, and there is no field manager to help you in any list base classes.
100
100
101
101
The recommended solution is to have a parent class that contains the list, and put your fields/properties in that class. [This thread](https://cslanet.com/old-forum/9828.html) has more information.
Copy file name to clipboardExpand all lines: docs/CSLA-Versions.md
+34-1Lines changed: 34 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,35 @@
2
2
3
3
This document lists the versions of CSLA .NET that are considered "primary" versions.
4
4
5
+
## CSLA 10
6
+
7
+
* Runtimes
8
+
* .NET 10
9
+
* .NET 9
10
+
* .NET 8
11
+
* .NET Framework 4.6.2 through 4.8
12
+
* Platform support
13
+
* ASP.NET Core (Blazor, MVC, Razor Pages, and other app models)
14
+
* ASP.NET (MVC, Web Forms, and other app models)
15
+
* MAUI (iOS, Android, Mac, Linux)
16
+
* Uno Platform
17
+
* Avalonia
18
+
* Windows Forms, WPF
19
+
* Operating systems
20
+
* Windows
21
+
* Android
22
+
* iOS
23
+
* Linux (including containers and Kubernetes)
24
+
* Mac
25
+
* WebAssembly
26
+
* Others (via .NET 8, 9, and 10)
27
+
* New features
28
+
* Full nullable reference type (NRT) support
29
+
* OpenTelemetry instrumentation for data portal
30
+
* Enhanced rules engine with async exception handling
31
+
* Binary serialization for metastate (improved performance)
32
+
* IMobileObjectMetastate interface for custom serializers
33
+
5
34
## CSLA 9
6
35
7
36
* Runtimes
@@ -124,6 +153,7 @@ Older versions of CSLA .NET provide support for older versions of Microsoft .NET
124
153
125
154
Here are some specific upgrade notes for each version:
126
155
156
+
*[Upgrading to CSLA 10](https://github.com/MarimerLLC/csla/blob/main/docs/Upgrading%20to%20CSLA%2010.md)
127
157
*[Upgrading to CSLA 9](https://github.com/MarimerLLC/csla/blob/main/docs/Upgrading%20to%20CSLA%209.md)
128
158
*[Upgrading to CSLA 8](https://github.com/MarimerLLC/csla/blob/main/docs/Upgrading%20to%20CSLA%208.md)
129
159
*[Upgrading to CSLA 6](https://github.com/MarimerLLC/csla/blob/main/docs/Upgrading%20to%20CSLA%206.md)
@@ -138,7 +168,9 @@ Here are some general guidelines for upgrading:
138
168
1. From 4.0 – there’ve been some minor breaking changes that don’t affect everyone, but reviewing the release notes to see if a given codebase is affected is required
139
169
1. From 5.0 – CSLA 6 is a major update that embraces dependency injection, so nearly all apps will be affected in their startup code, and in any interaction with the `ApplicationContext` or data portal types (all of which are now available as DI services)
140
170
1. From 6.0 - CSLA 7 is a relatively minor upgrade with some important bug fixes. Check the release notes for breaking changes that may affect your specific scenarios.
141
-
1. From 7.0 = CLSA 8 includes some important bug fixes and useful enhancements. Check the release notes for breaking changes that may affect your specific scenarios.
171
+
1. From 7.0 - CSLA 8 includes some important bug fixes and useful enhancements. Check the release notes for breaking changes that may affect your specific scenarios.
172
+
1. From 8.0 - CSLA 9 removes support for UWP, .NET 6, and the `BinaryFormatter`. It adds support for .NET 9 and code generators for serialization and domain classes.
173
+
1. From 9.0 - CSLA 10 adds full nullable reference type (NRT) support, OpenTelemetry instrumentation, and supports .NET 8, 9, and 10. Review the upgrade doc for breaking changes related to NRT.
142
174
143
175
Some older posts with information about upgrading:
144
176
@@ -174,3 +206,4 @@ The roadmap is [available here](https://github.com/MarimerLLC/csla/issues?q=is%3
174
206
* CSLA 7 implements some important bug fixes and some breaking changes (bug fixes and enhancements) to improve the use of CSLA when building business apps. The most notable change is enhancement around authentication and tightening default security for the data portal.
175
207
* CSLA 8 implements some important bug fixes and some breaking changes (bug fixes and enhancements) to improve the use of CSLA when building business apps. This release supports .NET 8, and also enhances behaviors around the `ObjectFactory` implmenetation in the data portal.
176
208
* CSLA 9 removes support for UWP, .NET 6 and the `BinaryFormatter`. It adds support for .NET 9. There are numerous changes to clean up the configuration API. It also includes a couple of code generators to improve serialization speed and radically reduce the amount of code necessary to create a business domain class. There are also many bug fixes and other enhancements in this release.
209
+
* CSLA 10 adds full nullable reference type (NRT) support throughout the codebase, OpenTelemetry instrumentation for the data portal, and support for .NET 8, 9, and 10. Key new features include async rule exception handling, binary serialization for metastate data, and the `IMobileObjectMetastate` interface for custom serializers. This release supports modern deployment scenarios including Kubernetes and containers, with integration for observability platforms like Prometheus, Grafana, and .NET Aspire.
Copy file name to clipboardExpand all lines: docs/Data-Portal.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# Data Portal
2
2
3
+
> ℹ️ Some sections of this document reference deprecated technologies (WCF, Silverlight, Remoting). These are retained for historical reference. For modern applications, use the HTTP data portal channel with ASP.NET Core. See the [OpenTelemetry Dashboard](OpenTelemetry-Dashboard.md) documentation for observability features available in CSLA 10.
4
+
3
5
## Should I use an n-tier or service-oriented architecture?
4
6
5
7
[This thread](https://cslanet.com/old-forum/10198.html) has some good information.
@@ -22,6 +24,8 @@ The Microsoft Patterns and Practices group wrote a [WCF configuration guide](htt
22
24
23
25
## SL: How do I implement compression in the Silverlight data portal?
24
26
27
+
> ⚠️ **Deprecated**: Silverlight is not supported in CSLA 5 or later.
28
+
25
29
The CSLA .NET for Silverlight data portal has hooks specifically designed to allow you to plug in a compression engine for data sent to/from the server. This is almost required, because the XML generated by the DataContractSerializer when serializing business objects gets very large fast!
26
30
27
31
[read more...](Silverlight.md)
@@ -34,10 +38,14 @@ There are third party WCF bindings that implement compression. I recommend using
34
38
35
39
## .NET: How do I use compression for the Remoting data portal channel?
36
40
41
+
> ⚠️ **Deprecated**: Remoting is not supported in modern .NET.
42
+
37
43
[This thread](https://cslanet.com/old-forum/8067.html) has information about one solution.
38
44
39
45
## SL: Can I (should I) use binary XML with the Silverlight data portal?
40
46
47
+
> ⚠️ **Deprecated**: Silverlight is not supported in CSLA 5 or later.
48
+
41
49
CSLA .NET 3.8 uses binary XML on your behalf. You should probably still use compression on the data (the previous topic in this FAQ), and you should probably configure your WCF endpoint and client to use binary XML as well.
42
50
43
51
[This thread](https://cslanet.com/old-forum/7258.html) has more information, along with performance data around the use of binary XML, compression and both combined.
@@ -58,6 +66,8 @@ IIS 7 includes a new data size limit setting that may block transfer of large ob
58
66
59
67
## SL: I get Maximum request length exceeded on data portal calls
60
68
69
+
> ⚠️ **Deprecated**: Silverlight is not supported in CSLA 5 or later.
70
+
61
71
The default size limits for WCF messages between Silverlight and ASP.NET are too low for any practical application scenarios when using the data portal. You need to up the limits by changing the WCF configuration in the client and server config files. For example:
Copy file name to clipboardExpand all lines: docs/WCF-Services.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# WCF Services
2
2
3
+
> ⚠️ **Deprecated Technology**: WCF is not supported by Microsoft in modern .NET (.NET 6+). CSLA only supports WCF for legacy .NET Framework applications. For modern applications, use the HTTP data portal channel instead. See the [Data Portal](Data-Portal.md) documentation for more information.
4
+
3
5
## Can I serialize a CSLA .NET business object with the XmlSerializer?
4
6
5
7
No, you cannot directly use the Xml Serializer to serialize Csla objects. There are too many limitations which make this impractical.
Copy file name to clipboardExpand all lines: docs/WPF.md
-5Lines changed: 0 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,11 +8,6 @@ The [Expert C# 2008 Business Objects](https://www.apress.com/us/book/97814302101
8
8
9
9
<!-- Starting with CSLA .NET 4.0, the base collection types will fully support WPF binding. [See this page](WpfCollectionBinding) for more information. -->
10
10
11
-
## Should I use Silverlight or WPF?
12
-
13
-
This is a [good forum thread](https://cslanet.com/old-forum/10245.html) on the topic.
14
-
<!-- and you can read [Rocky's thoughts](SilverlightOrWpf). -->
Copy file name to clipboardExpand all lines: docs/What-is-CSLA-.NET.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,8 @@ And then, suppose you had a framework that helped you create those behavior-base
17
17
1. Cross-platform, running unchanged anywhere you can run .NET code
18
18
1. Able to access an understandable, but extremely flexible and powerful, rules engine where you can implement all your validation, business, algorithmic, and authorization rules in a totally reusable manner
19
19
1. Standardized, so devs can use code snippets or code generators to become highly productive, and training costs are radically reduced
20
-
1. Fully data binding enabled, with the differences in data binding between Blazor, ASP.NET, Xamarin, Windows Forms, WPF, UWP, and other platforms abstracted away so devs don't have to worry about it - data binding just works, everywhere
21
-
1. Persistence-enabled, whether the data access layer is local on the client device, or remote on an app server via http, WCF, or any other network technology - again, differences are abstracted so devs can focus on business issues, not low-level "plumbing code"
20
+
1. Fully data binding enabled, with the differences in data binding between Blazor, ASP.NET, MAUI, Windows Forms, WPF, and other platforms abstracted away so devs don't have to worry about it - data binding just works, everywhere
21
+
1. Persistence-enabled, whether the data access layer is local on the client device, or remote on an app server via HTTP - differences are abstracted so devs can focus on business issues, not low-level "plumbing code"
22
22
1. Totally neutral in terms of data access technology: devs can use ADO.NET, Entity Framework, Dapper, or any other technology that's appropriate to access SQL Server, Oracle, your legacy AS/400, Excel files, web services, or combinations of all these and more
23
23
24
24
This is CSLA .NET: the framework that brings business logic to the same level as the UI and data access.
Copy file name to clipboardExpand all lines: docs/Windows-Workflow-Foundation.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,10 @@
1
1
# Windows Workflow Foundation
2
2
3
+
> ⚠️ **Deprecated Technology**: Windows Workflow Foundation (WF) is not supported in CSLA 4 or later. Microsoft has discontinued WF, and it is not available in modern .NET. This documentation is retained for historical reference only.
4
+
3
5
## Does CSLA .NET work with WF?
4
6
5
-
Yes, prior to CSLA 4. Microsoft has moved on from Windows Workflow Foundation, and so CSLA 4 and later do not support WF.
7
+
No, not in modern versions. CSLA 4 and later do not support WF.
6
8
7
9
You can create workflow activities using CSLA .NET objects. This is a very powerful way to create activities, because the business behaviors encapsulated within the activity are implemented as an object-oriented use case and can leverage the power of CSLA .NET (most notably the data portal).
Copy file name to clipboardExpand all lines: docs/code-generators.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ There are many traditional project or solution level code generation tools avail
18
18
19
19
Only CslaGenFork is affiliated directly with the CSLA .NET project, the others come from various other sources. Some are commercial, some are free, you can decide which is best for you.
20
20
21
-
*[CslaGenFork](https://github.com/MarimerLLC/CslaGenFork) - Generates CSLA .NET classes suitable for Windows Forms, ASP.NET, WPF, and Silverlight
21
+
*[CslaGenFork](https://github.com/MarimerLLC/CslaGenFork) - Generates CSLA .NET classes suitable for Windows Forms, ASP.NET, and WPF
22
22
*[DesiGen](https://desigen-docs.dotnotstandard.com/docs) - Design and code generation tool
23
23
*[CodeSmith](https://www.codesmithtools.com/) - General code generation tool
0 commit comments