Enterprise Library 6.0 / Unity 3.0
Greetings!
The patterns & practices team started exploration on the next major versions of Enterprise Library and Unity.
The way we envision Enterprise Library v6.0 and Unity 3.0 is that they will be targeted at Windows 8 and Windows Server 2012 developers that are using .NET framework 4.5. See http://bitly.com/entlibvNext for more.
This is a list of ideas to help us shape these releases. Considering we are doing a full sweep of the scenarios, please do not assume that everything would be ported. If there’s something in the existing EntLib you really want to see moving forward, please submit that as a separate UserVoice story.
Please comment/vote on the existing stories or to suggest new ones.
Please note the list may not always represent the actual prioritized backlog of the development team.
-
Lightweight Scheduler / Job coordinator
A higher level abstraction like you created for the CQRS journey to process commands would be really useful.
Something with a simple API that:
* uses queues to activate jobs (service bus, azure, inmemory) or time-based (schedule)
* that can run in process or in a separate worker
* leverage TPL to maximize throughput
* that can scale out to multiple nodes
* graceful exception handling
* load/stress tested180 votes -
Unity Lifetimes: TearDown should dispose objects created by container
TearDown does not do anything with the LifetimeManagers supplied ootb. It should properly dispose object(graph)s created by the container
162 votes -
wcf service factory
Exposing a unity-managed object with wcf through a svc file is a common scenario. It would be great if Unity could provide a wcf factory out of the box, so it would be possible to use it directly instead of writing our own (many examples on the web).
111 votes -
Use claims for authorization checks
As a developer I want to be able to leverage a ClaimsPrincipal for the authorization checks using the Security Application Block. The claims that are recognized as identity or roles should tie into the authorization providers (AuthorizationRuleProvider and AzManAuthorizationProvider). Currently the AzMan provider seems dependent on Windows identities.
86 votes -
validate multiple rulesets
Allow ValidatorFactory to create a validator of more than one specified rule set or allow validator to validate based on more than one specified rule set...
85 votes -
Entlib Logging for HTML 5 Applications
In ASP.MVC 4 there's a Template that generates Single Page Applications in Browser. Much more code is running in the browser runtime and the need for Tracing and ErrorLogging is higher in these scenarios. Are there any plans to support HTML 5 Applications that are built with the Single Page Pattern?
I would like wish to see a similar support that has been built for Silverlight. Especially a centralized LoggingServices that supports ASP.NET, MVC and WCF and accepts JSON LogEntries. A client side javascript library and configuration would help to generate these messages via ajax and send them asynchronously. I…
83 votes -
Allow custom default LifetimeManagers
One of the things I like most about Unity, is that Unity can build object trees, even if not all types used in the object tree are explicitly registered.
However, if I want to use a custom default LifetimeManager, I do have to register all types with the custom LifetimeManager, because Unity does not support a custom default LifetimeManager.
So, the request is simple: make the default LifetimeManager type configurable.E.g.:
var container = new UnityContainer();
container.ChangeDefaultLifetimeManagerTo<ContainerControlledLifetimeManager>();62 votes -
Hierarchical Loggers like log4net
we have component_xx.exe with his dependency component_xx.data.dll and in log4net and log4j
you have the ability to include specify for namespace ex. component_xx_data.model to log only information’s and for component_xx_data.model.error to log only errors55 votes -
AOP
Better Documentation on how to configure and use it.
53 votes -
A Collection of Common Aspects to be Used With Unity Built on Other Application Blocks
Aspects such as a Logging, Authentication, Authorization, Performance Monitoring, Caching, etc... that do not require attributes but can be configured by interception. Though perhaps attributes can *also* be used to add them.
A common set of these would help remove a number of cross-cutting concerns from all manner of developer's applications.
53 votes -
52 votes
-
Performance Counters Creations
I would like a simple way to use configuration to create performance counters to instrument systems.
51 votes -
Add support for Lazy<T>
Add support for Lazy<T> when resolving type T
50 votes -
Improve XML configuration
Make Unity to be fully configurable with XML file.
Add support for
1) Factory methods and abstract factories;
2) Macros;
3) Building configuration from several files at the same time.Make XML config file syntax more concise and Source-Control friendly.
46 votes -
Rapid integration with popular Microsoft Frameworks / Bootstrapper
Rapid integration with popular Microsoft Frameworks. For example:
Install-Package Unity.Mvc
- I don’t have to write a single line of code and my MVC will now use Unity
And so on…
Install-Package Unity.Http
Install-Package Unity.Wcf
Install-Package Unity.Win843 votes -
Support a Rolling Database Trace Listener
The Database Trace Listener and the supplied stored procedure are not really helpful over time. The database is growing indefinetly. It would be cool to have a similar mechanism as the rolling file listener.
The database can specify how large it can grow maximum and old entries are deleted automatically.43 votes -
TPL Application Block or TPL Helpers
Not sure if this is app block or a helper (like the original and highly popular single file SqlHelper released by p&p circa 2006). Async is hard to grasp (easier with NET 4.5, but still). A higher level simple library that help us implementing common patterns and best practices on top of TPL (sequential/parallel execution, fire and forget, wrap sync libraries, coordination patterns, server side good practices, etc.).
See here for some of the needs:
http://bradwilson.typepad.com/blog/2012/04/tpl-and-servers-pt4.html42 votes -
Register multiple instances without naming them
And then resolve all these instances by ResolveAll
41 votes -
One assembly for referencing
Now to reference Unity I need to reference 3 asms: Unity/Unity.Configuration/System.Configuration. Change it to only 1, please. When I'm allways trying that my component user feel comfortable to reference only one "business logic" assembler, I should instruct them also to reference three additional dlls...
39 votes -
Log ActivityId to Database
I would like to log the ActivityId field of the LogEntry class to the database when using a DatabaseTraceListener. ActivityId is not currently one of the values logged to the Log table.
34 votes
- Don't see your idea?