Skip to content

Commit a755d33

Browse files
Update /docs files (#4792)
* 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>
1 parent 1260e60 commit a755d33

10 files changed

Lines changed: 70 additions & 14 deletions

docs/ASP.NET-MVC.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44

55
CSLA 5 and higher supports ASP.NET Core - MVC and Razor Pages - with various helper types in the `Csla.AspNetCore` namespace.
66

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.
810

911
> ℹ️ 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.
1012
1113
## ASP.NET in .NET Framework
1214

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.
1416

1517
_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._
1618

docs/Business-Object-Design.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ ERLB exists to address one very specific set of requirements: a list of root obj
9696

9797
## Keeping private fields in a list object?
9898

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.
100100

101101
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.
102102

docs/CSLA-Versions.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,35 @@
22

33
This document lists the versions of CSLA .NET that are considered "primary" versions.
44

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+
534
## CSLA 9
635

736
* Runtimes
@@ -124,6 +153,7 @@ Older versions of CSLA .NET provide support for older versions of Microsoft .NET
124153

125154
Here are some specific upgrade notes for each version:
126155

156+
* [Upgrading to CSLA 10](https://github.com/MarimerLLC/csla/blob/main/docs/Upgrading%20to%20CSLA%2010.md)
127157
* [Upgrading to CSLA 9](https://github.com/MarimerLLC/csla/blob/main/docs/Upgrading%20to%20CSLA%209.md)
128158
* [Upgrading to CSLA 8](https://github.com/MarimerLLC/csla/blob/main/docs/Upgrading%20to%20CSLA%208.md)
129159
* [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:
138168
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
139169
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)
140170
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.
142174

143175
Some older posts with information about upgrading:
144176

@@ -174,3 +206,4 @@ The roadmap is [available here](https://github.com/MarimerLLC/csla/issues?q=is%3
174206
* 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.
175207
* 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.
176208
* 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.

docs/Data-Portal.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Data Portal
22

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+
35
## Should I use an n-tier or service-oriented architecture?
46

57
[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
2224

2325
## SL: How do I implement compression in the Silverlight data portal?
2426

27+
> ⚠️ **Deprecated**: Silverlight is not supported in CSLA 5 or later.
28+
2529
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!
2630

2731
[read more...](Silverlight.md)
@@ -34,10 +38,14 @@ There are third party WCF bindings that implement compression. I recommend using
3438

3539
## .NET: How do I use compression for the Remoting data portal channel?
3640

41+
> ⚠️ **Deprecated**: Remoting is not supported in modern .NET.
42+
3743
[This thread](https://cslanet.com/old-forum/8067.html) has information about one solution.
3844

3945
## SL: Can I (should I) use binary XML with the Silverlight data portal?
4046

47+
> ⚠️ **Deprecated**: Silverlight is not supported in CSLA 5 or later.
48+
4149
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.
4250

4351
[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
5866

5967
## SL: I get Maximum request length exceeded on data portal calls
6068

69+
> ⚠️ **Deprecated**: Silverlight is not supported in CSLA 5 or later.
70+
6171
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:
6272

6373
Server

docs/Reference.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
# Reference Documents
22

3-
Here are some reference documents that provide a high-level overview of CSLA .NET version 4 and 4.7.
3+
Here are some reference documents that provide a high-level overview of CSLA .NET.
4+
5+
## Current Documentation
6+
7+
* [Getting Started](Getting-started.md)
8+
* [CSLA Versions](CSLA-Versions.md)
9+
* [Books and Videos](Books-and-videos.md)
10+
* [OpenTelemetry Dashboard](OpenTelemetry-Dashboard.md)
11+
* [Upgrading to CSLA 10](Upgrading%20to%20CSLA%2010.md)
12+
13+
## Historical Reference
14+
15+
These older documents provide historical context but may not reflect current CSLA features:
416

517
* [CSLA 4.7 top level concepts](https://github.com/MarimerLLC/csla/blob/master/Support/TopLevelCsla4.7.pdf?raw=true)
618
* [CSLA 4 top level concepts](https://github.com/MarimerLLC/csla/blob/master/Support/TopLevelCsla4.pdf?raw=true)

docs/WCF-Services.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# WCF Services
22

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+
35
## Can I serialize a CSLA .NET business object with the XmlSerializer?
46

57
No, you cannot directly use the Xml Serializer to serialize Csla objects. There are too many limitations which make this impractical.

docs/WPF.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,6 @@ The [Expert C# 2008 Business Objects](https://www.apress.com/us/book/97814302101
88

99
<!-- Starting with CSLA .NET 4.0, the base collection types will fully support WPF binding. [See this page](WpfCollectionBinding) for more information. -->
1010

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). -->
15-
1611
<!-- ##Does CSLA .NET work with the MVVM pattern?
1712
Yes. [Click here](Mvvm) for more information.
1813
-->

docs/What-is-CSLA-.NET.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ And then, suppose you had a framework that helped you create those behavior-base
1717
1. Cross-platform, running unchanged anywhere you can run .NET code
1818
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
1919
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"
2222
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
2323

2424
This is CSLA .NET: the framework that brings business logic to the same level as the UI and data access.

docs/Windows-Workflow-Foundation.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# Windows Workflow Foundation
22

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+
35
## Does CSLA .NET work with WF?
46

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.
68

79
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).
810

docs/code-generators.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ There are many traditional project or solution level code generation tools avail
1818

1919
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.
2020

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
2222
* [DesiGen](https://desigen-docs.dotnotstandard.com/docs) - Design and code generation tool
2323
* [CodeSmith](https://www.codesmithtools.com/) - General code generation tool
2424
* Templates: http://www.codesmithtools.com/csla

0 commit comments

Comments
 (0)