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 180 2/12/2017
4.1.2017.350 83 2/7/2017
4.1.2017.280 84 1/29/2017
4.1.2017.200 77 1/25/2017
4.1.2016.3580 115 12/24/2016
4.1.2016.3510 100 12/17/2016
4.0.2016.3100 111 11/7/2016
4.0.2016.3030 121 10/30/2016
4.0.2016.2600 117 9/19/2016
4.0.2016.1880 153 7/6/2016
4.0.2016.1380 134 5/22/2016
4.0.2016.1360 122 5/18/2016
4.0.2016.950 156 4/7/2016
4.0.2016.900 128 3/30/2016
4.0.2016.720 197 3/14/2016
3.1.2016.250 208 1/26/2016
3.1.2015.3180 181 11/15/2015
3.0.2015.2421 228 8/31/2015
3.0.2015.2220 170 8/11/2015
3.0.2015.2110 149 7/30/2015
3.0.2015.1970 160 7/17/2015
3.0.2015.1860 369 7/4/2015
3.0.2015.1780 198 6/28/2015
3.0.2015.1580 190 6/7/2015
3.0.2015.1500 231 6/1/2015
2.7.2014.2940 354 10/22/2014
2.7.2014.2600 203 9/17/2014
2.7.2014.2300 259 8/20/2014
2.7.2014.1950 241 7/14/2014
2.7.2014.1770 205 6/27/2014
2.7.2014.1480 210 5/29/2014
2.7.2014.1382 197 5/19/2014
2.7.2014.430 340 2/20/2014
2.7.2014.250 237 1/26/2014
2.6.2013.3330 343 12/2/2013
2.5.2013.3000 277 10/28/2013
2.5.2013.2900 229 10/17/2013
2.5.2013.2800 218 10/8/2013
2.2.2013.2731 209 10/1/2013
2.2.2013.2730 205 10/1/2013
2.2.2013.2650 271 9/22/2013
2.1.2013.2041 247 7/26/2013
2.1.2013.2040 207 7/24/2013
2.1.2013.1800 235 7/1/2013
2.1.2013.1700 233 6/20/2013
2.0.2013.1550 230 6/5/2013
2.0.2013.1460 290 5/26/2013
2.0.2013.1350 262 5/16/2013
2.0.2013.1100 260 4/22/2013
2.0.2013.1000 (current version) 271 4/11/2013
2.0.2013.420 387 2/13/2013
2.0.2013.260 302 1/27/2013
1.0.2012.2800 502 10/7/2012
1.0.2012.2600 353 9/16/2012
1.0.2012.2500 260 9/10/2012
1.0.2012.2200 294 8/9/2012
1.0.2012.1760 368 6/24/2012
1.0.2012.1680 254 6/18/2012
1.0.2012.1570 272 6/5/2012
1.0.2012.1500 303 5/29/2012
1.0.2012.1150 326 4/26/2012
1.0.2012.930 364 4/4/2012
1.0.2012.800 296 3/22/2012
1.0.2012.700 291 3/12/2012
1.0.2012.630 283 3/3/2012
1.0.2012.390 358 2/9/2012
1.0.2012.320 284 2/1/2012
1.0.2012.300 288 1/31/2012
1.0.2011.3150 361 11/25/2011
Show less