Cuemon 2.0.2013.1000

Cuemon .NET Framework Additions

If you like the structure of the .NET platform, then the Cuemon .NET Framework Additions might just be that extra solution you have been looking for! With these assemblies I have aimed to accomplish at least two things; simplify the tedious work that is always present when coding towards a generic framework, and implementing some core- and utility classes for you to enjoy.

Install-Package Cuemon -Version 2.0.2013.1000
dotnet add package Cuemon --version 2.0.2013.1000
paket add Cuemon --version 2.0.2013.1000
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

For two month this major release has been under way - and there are still so much work to be done, but slow and steady a cloud friendly framework is emerging with the guts to remove deprecated code while keeping a focus on performance and high flexibility using Action and Func delegates where appropriate. My Achilles heel is still the Cuemon.ServiceModel class, but the ground work is in place and I expect within 3 months that a REST friendly and highly flexible solution is in place.
Enough with the small talk - let’s get to the work that was implemented for 2.0.2013.1000:

- The Func delegate was extended from 5 arguments to 20 arguments
- The Action delegate was extended from 5 arguments to 20 arguments

- A new utility class was introduced in the Cuemon namespace; TransientFaultUtility that provides ways to make applications more resilient with robust transient fault handling logic
- A new class was introduced in the Cuemon namespace; TransientFaultException
- A new class was introduced in the Cuemon namespace; DefaultOr that provides - to some extent - a generic way to support the Null Object Pattern
- A new class was introduced in the Cuemon namespace; Wrapper -> IWrapper
- A new class was introduced to ease the usage of Func delegates; the FuncFactory class with up to 20 arguments
- A new class was introduced to ease the usage of Action delegates; the ActionFactory class with up to 20 arguments
- A new class was introduced in the Cuemon namespace; LoopUtility
- A new class was introduced in the Cuemon namespace; Hierarchy -> IHierarchy as well as HierarchyUtility
- A new class was introduced in the Cuemon namespace; AssignmentUtility
- A new enum was introduced in the Cuemon namespace; AssignmentOperator
- A new enum was introduced in the Cuemon namespace; RelationalOperator
- The HashUtility class was extended to support the CRC32 checksum
- The MethodSignature class was extended with these new members; HasParameters, Create, MergeParameters
- The Instrumentation class was simplified internally
- The TypeUtility class was extended with these new methods; GetAncestorOrSelf, IsEnumerable, IsDictionary, IsKeyValuePair, SanitizeTypeName, ContainsAttributeType
- The ExceptionUtility class was refactored, moved and extended with these new methods; Parse, Flatten, Refine [breaking]
- The TesterDoerUtility class was refactored to support both Action and Func delegates [breaking]
- The HttpMethod enum was renamed to HttpMethods as it now supports the Flags attribute [breaking]
- The StringUtility class was extended with these new methods; Remove
- The ConvertUtility class received optimizations and was extended with these new methods; ToWebHeaderCollection, ToString, ToEnumerable, ToDelimitedString
- The ReflectionUtility class was extended with these new methods; GetAttributes, GetAttribute, HasCircularReference, GetPropertyValue, GetObjectHierarchy

- A new class was introduced in the Cuemon.Security.Cryptography namespace; CyclicRedundancyCheck32
- A new abstract class was introduced in the Cuemon.Security.Cryptography namespace; CyclicRedundancyCheck
- A new enum was introduced in the Cuemon.Security.Cryptography namespace; PolynomialRepresentation

- A new utility class was introduced in the Cuemon.Collections.Generic namespace; ListUtility
- A new utility class was introduced in the Cuemon namespace; EnumUtility with so far one method: HasFlags
- A new class was introduced in the Cuemon.Collections.Generic namespace; EnumerableSizeComparer
- The EnumerableUtility class was extended with several new methods; Select, SelectMany, FindAll, Any

- A new enum was introduced in the Cuemon.Xml.Serialization namespace; SerializableOrder
- The XmlUtility class has its ConvertEncoding method extended
- The XmlConvertUtility class was extended with these new methods; ToXmlElement, ToStream [breaking]
- The XmlSerializationUtility class completely revamped, refactored and simplified with a high degree of flexibility [breaking]
- The XmlSerialization class was extended with several new overloads of ToXml

- The DataManager, SqlDataManager and SqlCeDataManager class was refactored to use the new TransientFaultUtility class with accordingly name aligning [breaking]
- The RuntimeBusinessEntity class was extended to provide better exception details
- The DataManager class received a bug fix for those rare occasions where an exception is thrown while iterating a reader or similar; command parameters are cleared now
- The ColumnAttribute class now supports ordering of compound primary keys
- The BusinessEntityDataAdapter now support multiple steps in property hierarchy
- The MappingUtility class was extended with the new methods; ParseStorageFieldValue, SetStorageFieldPropertyValue, ParseStorageField
- The BusinessEntity class now supports multiple steps in property hierarchy
- The BusinessEntityUtility class now fully supports compound primary keys

- The XsltPage now supports entity tag resolvement when checking against client caching
- The GlobalModule class was simplified internally
- The HttpResponseFilter class was simplified internally
- The HttpResponseContentFilter class was extended and simplified internally
- The HttpResponseUtility class was refactored and extended with these new methods; SetClientSideContentCacheExpiresHeaders, CreateClientSideContentCacheExpiresHeaders [breaking]
- The HttpRequestUtility class was refactored and extended with these new methods; IsClientSideContentCached, TryGetEntityTagHeader [breaking]
- The SiteMapProtocolHandler was refactored to use the NetHttpUtility class

- The Cuemon.ServiceModel assembly is a work in progress why it is not recommended to use any classes but the Endpoint base class although many have been added

Happy coding - it was with a high degree of pride that this release is made possible!

Dependencies

This package has no dependencies.

Version History

Version Downloads Last updated
4.1.2017.400 152 2/12/2017
4.1.2017.350 75 2/7/2017
4.1.2017.280 76 1/29/2017
4.1.2017.200 69 1/25/2017
4.1.2016.3580 107 12/24/2016
4.1.2016.3510 92 12/17/2016
4.0.2016.3100 103 11/7/2016
4.0.2016.3030 113 10/30/2016
4.0.2016.2600 106 9/19/2016
4.0.2016.1880 147 7/6/2016
4.0.2016.1380 127 5/22/2016
4.0.2016.1360 114 5/18/2016
4.0.2016.950 148 4/7/2016
4.0.2016.900 120 3/30/2016
4.0.2016.720 189 3/14/2016
3.1.2016.250 200 1/26/2016
3.1.2015.3180 173 11/15/2015
3.0.2015.2421 220 8/31/2015
3.0.2015.2220 161 8/11/2015
3.0.2015.2110 140 7/30/2015
3.0.2015.1970 151 7/17/2015
3.0.2015.1860 358 7/4/2015
3.0.2015.1780 183 6/28/2015
3.0.2015.1580 181 6/7/2015
3.0.2015.1500 218 6/1/2015
2.7.2014.2940 324 10/22/2014
2.7.2014.2600 193 9/17/2014
2.7.2014.2300 227 8/20/2014
2.7.2014.1950 208 7/14/2014
2.7.2014.1770 191 6/27/2014
2.7.2014.1480 199 5/29/2014
2.7.2014.1382 186 5/19/2014
2.7.2014.430 309 2/20/2014
2.7.2014.250 221 1/26/2014
2.6.2013.3330 308 12/2/2013
2.5.2013.3000 240 10/28/2013
2.5.2013.2900 217 10/17/2013
2.5.2013.2800 207 10/8/2013
2.2.2013.2731 197 10/1/2013
2.2.2013.2730 193 10/1/2013
2.2.2013.2650 234 9/22/2013
2.1.2013.2041 233 7/26/2013
2.1.2013.2040 196 7/24/2013
2.1.2013.1800 223 7/1/2013
2.1.2013.1700 222 6/20/2013
2.0.2013.1550 218 6/5/2013
2.0.2013.1460 278 5/26/2013
2.0.2013.1350 228 5/16/2013
2.0.2013.1100 248 4/22/2013
2.0.2013.1000 (current version) 260 4/11/2013
2.0.2013.420 348 2/13/2013
2.0.2013.260 290 1/27/2013
1.0.2012.2800 461 10/7/2012
1.0.2012.2600 316 9/16/2012
1.0.2012.2500 248 9/10/2012
1.0.2012.2200 279 8/9/2012
1.0.2012.1760 331 6/24/2012
1.0.2012.1680 239 6/18/2012
1.0.2012.1570 257 6/5/2012
1.0.2012.1500 262 5/29/2012
1.0.2012.1150 307 4/26/2012
1.0.2012.930 324 4/4/2012
1.0.2012.800 280 3/22/2012
1.0.2012.700 271 3/12/2012
1.0.2012.630 267 3/3/2012
1.0.2012.390 318 2/9/2012
1.0.2012.320 268 2/1/2012
1.0.2012.300 271 1/31/2012
1.0.2011.3150 339 11/25/2011
Show less