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 241 2/12/2017
4.1.2017.350 112 2/7/2017
4.1.2017.280 115 1/29/2017
4.1.2017.200 106 1/25/2017
4.1.2016.3580 145 12/24/2016
4.1.2016.3510 130 12/17/2016
4.0.2016.3100 140 11/7/2016
4.0.2016.3030 152 10/30/2016
4.0.2016.2600 149 9/19/2016
4.0.2016.1880 184 7/6/2016
4.0.2016.1380 163 5/22/2016
4.0.2016.1360 150 5/18/2016
4.0.2016.950 187 4/7/2016
4.0.2016.900 157 3/30/2016
4.0.2016.720 271 3/14/2016
3.1.2016.250 234 1/26/2016
3.1.2015.3180 213 11/15/2015
3.0.2015.2421 259 8/31/2015
3.0.2015.2220 199 8/11/2015
3.0.2015.2110 178 7/30/2015
3.0.2015.1970 190 7/17/2015
3.0.2015.1860 399 7/4/2015
3.0.2015.1780 250 6/28/2015
3.0.2015.1580 222 6/7/2015
3.0.2015.1500 290 6/1/2015
2.7.2014.2940 421 10/22/2014
2.7.2014.2600 237 9/17/2014
2.7.2014.2300 329 8/20/2014
2.7.2014.1950 305 7/14/2014
2.7.2014.1770 268 6/27/2014
2.7.2014.1480 245 5/29/2014
2.7.2014.1382 235 5/19/2014
2.7.2014.430 403 2/20/2014
2.7.2014.250 283 1/26/2014
2.6.2013.3330 417 12/2/2013
2.5.2013.3000 343 10/28/2013
2.5.2013.2900 266 10/17/2013
2.5.2013.2800 257 10/8/2013
2.2.2013.2731 248 10/1/2013
2.2.2013.2730 241 10/1/2013
2.2.2013.2650 347 9/22/2013
2.1.2013.2041 287 7/26/2013
2.1.2013.2040 245 7/24/2013
2.1.2013.1800 280 7/1/2013
2.1.2013.1700 274 6/20/2013
2.0.2013.1550 271 6/5/2013
2.0.2013.1460 328 5/26/2013
2.0.2013.1350 330 5/16/2013
2.0.2013.1100 301 4/22/2013
2.0.2013.1000 (current version) 312 4/11/2013
2.0.2013.420 464 2/13/2013
2.0.2013.260 345 1/27/2013
1.0.2012.2800 576 10/7/2012
1.0.2012.2600 432 9/16/2012
1.0.2012.2500 301 9/10/2012
1.0.2012.2200 339 8/9/2012
1.0.2012.1760 452 6/24/2012
1.0.2012.1680 302 6/18/2012
1.0.2012.1570 321 6/5/2012
1.0.2012.1500 380 5/29/2012
1.0.2012.1150 410 4/26/2012
1.0.2012.930 445 4/4/2012
1.0.2012.800 349 3/22/2012
1.0.2012.700 367 3/12/2012
1.0.2012.630 339 3/3/2012
1.0.2012.390 447 2/9/2012
1.0.2012.320 343 2/1/2012
1.0.2012.300 346 1/31/2012
1.0.2011.3150 448 11/25/2011
Show less