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 204 2/12/2017
4.1.2017.350 95 2/7/2017
4.1.2017.280 97 1/29/2017
4.1.2017.200 89 1/25/2017
4.1.2016.3580 127 12/24/2016
4.1.2016.3510 112 12/17/2016
4.0.2016.3100 123 11/7/2016
4.0.2016.3030 134 10/30/2016
4.0.2016.2600 131 9/19/2016
4.0.2016.1880 167 7/6/2016
4.0.2016.1380 148 5/22/2016
4.0.2016.1360 135 5/18/2016
4.0.2016.950 169 4/7/2016
4.0.2016.900 141 3/30/2016
4.0.2016.720 215 3/14/2016
3.1.2016.250 221 1/26/2016
3.1.2015.3180 195 11/15/2015
3.0.2015.2421 241 8/31/2015
3.0.2015.2220 183 8/11/2015
3.0.2015.2110 161 7/30/2015
3.0.2015.1970 173 7/17/2015
3.0.2015.1860 381 7/4/2015
3.0.2015.1780 226 6/28/2015
3.0.2015.1580 203 6/7/2015
3.0.2015.1500 250 6/1/2015
2.7.2014.2940 386 10/22/2014
2.7.2014.2600 216 9/17/2014
2.7.2014.2300 297 8/20/2014
2.7.2014.1950 275 7/14/2014
2.7.2014.1770 238 6/27/2014
2.7.2014.1480 223 5/29/2014
2.7.2014.1382 212 5/19/2014
2.7.2014.430 370 2/20/2014
2.7.2014.250 255 1/26/2014
2.6.2013.3330 379 12/2/2013
2.5.2013.3000 312 10/28/2013
2.5.2013.2900 242 10/17/2013
2.5.2013.2800 233 10/8/2013
2.2.2013.2731 223 10/1/2013
2.2.2013.2730 218 10/1/2013
2.2.2013.2650 308 9/22/2013
2.1.2013.2041 262 7/26/2013
2.1.2013.2040 221 7/24/2013
2.1.2013.1800 255 7/1/2013
2.1.2013.1700 249 6/20/2013
2.0.2013.1550 246 6/5/2013
2.0.2013.1460 303 5/26/2013
2.0.2013.1350 295 5/16/2013
2.0.2013.1100 276 4/22/2013
2.0.2013.1000 (current version) 285 4/11/2013
2.0.2013.420 421 2/13/2013
2.0.2013.260 317 1/27/2013
1.0.2012.2800 531 10/7/2012
1.0.2012.2600 392 9/16/2012
1.0.2012.2500 274 9/10/2012
1.0.2012.2200 308 8/9/2012
1.0.2012.1760 407 6/24/2012
1.0.2012.1680 266 6/18/2012
1.0.2012.1570 287 6/5/2012
1.0.2012.1500 337 5/29/2012
1.0.2012.1150 363 4/26/2012
1.0.2012.930 401 4/4/2012
1.0.2012.800 311 3/22/2012
1.0.2012.700 322 3/12/2012
1.0.2012.630 298 3/3/2012
1.0.2012.390 396 2/9/2012
1.0.2012.320 299 2/1/2012
1.0.2012.300 304 1/31/2012
1.0.2011.3150 396 11/25/2011
Show less