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.

There is a newer version of this package available.
See the version list below for details.
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 276 2/12/2017
4.1.2017.350 128 2/7/2017
4.1.2017.280 130 1/29/2017
4.1.2017.200 122 1/25/2017
4.1.2016.3580 162 12/24/2016
4.1.2016.3510 146 12/17/2016
4.0.2016.3100 159 11/7/2016
4.0.2016.3030 169 10/30/2016
4.0.2016.2600 165 9/19/2016
4.0.2016.1880 201 7/6/2016
4.0.2016.1380 180 5/22/2016
4.0.2016.1360 167 5/18/2016
4.0.2016.950 204 4/7/2016
4.0.2016.900 176 3/30/2016
4.0.2016.720 301 3/14/2016
3.1.2016.250 252 1/26/2016
3.1.2015.3180 233 11/15/2015
3.0.2015.2421 276 8/31/2015
3.0.2015.2220 216 8/11/2015
3.0.2015.2110 195 7/30/2015
3.0.2015.1970 207 7/17/2015
3.0.2015.1860 417 7/4/2015
3.0.2015.1780 267 6/28/2015
3.0.2015.1580 241 6/7/2015
3.0.2015.1500 316 6/1/2015
2.7.2014.2940 459 10/22/2014
2.7.2014.2600 257 9/17/2014
2.7.2014.2300 350 8/20/2014
2.7.2014.1950 330 7/14/2014
2.7.2014.1770 288 6/27/2014
2.7.2014.1480 267 5/29/2014
2.7.2014.1382 256 5/19/2014
2.7.2014.430 424 2/20/2014
2.7.2014.250 313 1/26/2014
2.6.2013.3330 437 12/2/2013
2.5.2013.3000 364 10/28/2013
2.5.2013.2900 285 10/17/2013
2.5.2013.2800 278 10/8/2013
2.2.2013.2731 266 10/1/2013
2.2.2013.2730 261 10/1/2013
2.2.2013.2650 369 9/22/2013
2.1.2013.2041 306 7/26/2013
2.1.2013.2040 264 7/24/2013
2.1.2013.1800 302 7/1/2013
2.1.2013.1700 294 6/20/2013
2.0.2013.1550 292 6/5/2013
2.0.2013.1460 347 5/26/2013
2.0.2013.1350 353 5/16/2013
2.0.2013.1100 322 4/22/2013
2.0.2013.1000 (current) 331 4/11/2013
2.0.2013.420 497 2/13/2013
2.0.2013.260 365 1/27/2013
1.0.2012.2800 606 10/7/2012
1.0.2012.2600 456 9/16/2012
1.0.2012.2500 321 9/10/2012
1.0.2012.2200 363 8/9/2012
1.0.2012.1760 820 6/24/2012
1.0.2012.1680 321 6/18/2012
1.0.2012.1570 340 6/5/2012
1.0.2012.1500 426 5/29/2012
1.0.2012.1150 430 4/26/2012
1.0.2012.930 465 4/4/2012
1.0.2012.800 370 3/22/2012
1.0.2012.700 399 3/12/2012
1.0.2012.630 359 3/3/2012
1.0.2012.390 478 2/9/2012
1.0.2012.320 363 2/1/2012
1.0.2012.300 366 1/31/2012
1.0.2011.3150 479 11/25/2011
Show less