Enterprise Library / Unity vNext
Greetings!
This is a public forum for you to suggest/vote on the ideas for future capabilities/updates to Enterprise Library and Unity.
Please note the list may not always represent the actual prioritized backlog of the development team.
65 results found
-
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 tested
216 votes -
Please use the Portable Class Library (PCL) for the next release
Using the portable class library we will be able to easily reuse our core classes in multiple platforms.
56 votesunder review · AdminGrigori Melnik (Producer) (Senior Program Manager, Microsoft Enterprise Library) respondedPlease see my comments on the story.
-
add bulk updates in the Database Logging Tracelistener
The database TraceListener is great for logging up to a certain point, but beyond that it runs out of capacity somewhat. If one was able to send updates in batches to the logging database instead of having to call the stored procedure line by line I think it would increase throughput considerably for relatively little effort.
4 votes -
'Topaz' for 'Service Bus for Windows Server'
I would recomend to add support of 'Topaz' for 'Service Bus for Windows Server'. It should be fairly easy to do because 'Service Bus for Windows Server' and 'Azure Service Bus' have a common codebase.
29 votes -
interception on async/await methods
don't know how but is it possible to add interception support for async/await methods?
34 votes -
Defaults for Configuration
Configuring EntLib is still very verbose. The config builders allow you to provide meaningful default values for many cases. E.g. logging could be done by something like
var builder = new ConfigurationSourceBuilder(...);
builder.ConfigureLogging();which will setup rolling file logging to a file named default.log with the default message formatter etc.
26 votes -
Performance Counters Creations
I would like a simple way to use configuration to create performance counters to instrument systems.
64 votes -
Registration by Assembly Scanning
- Create a basic attribute called "RegisterType" that you could place on a class, The options I've found most useful are an enum to define it's lifetime manager and addtional type attributes to filter out types you don't want to register, IDisposable etc.
- Create an optional attribute that can be put in the assembly to indicate it should be scanned. This is optional but can be helpful for performance reasons.
- Create a Unity extension that reads all loaded types (I've found tricks for web applications here) and scans for this attribute and registers matching types.
50 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.
63 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.html56 votes -
Same handlingInstanceID when an exception was already handled by the block
Exception Handling Application Block
It would be very useful if an exception that was already handled by the block uses the same handlingInstanceID generated the first time it was handled so you can associate all the exception chain as only one error.
If the exception was already handled the block uses the same handlingInstanceId generated before, if not then it generates a new one.
e.g. Supose that you show the handlingInstanceId to the user as a ticket number of the error. You want to track down what happen using that ticket number, but if your model handles the exceptions in…
9 votes -
RollingFileTraceListener generates filenames with GUIDs
Details are available in the discussion thread -
4 votes -
Add assembly and namespace like unity to other blocks, mainly logging and exception handling
Currently the config file is too verbose because the namespaces of the entlib blocks are very large. One way to solve this would be to register the assembly, similar to the unity schema.
15 votes -
Extend Automatic Factories to automatically use Parameter Overrides
The current system of Automatic factories in Unity defers resolution when a class's constructor has a dependency of Func<IMyService>. This could be extended to automatically use parameter overrides when it sees a dependency of Func<SomeType,IMyService> and the concrete class implementing IMyService needs a parameter of type SomeType. This would only kick in if an InjectionFactory of the required type wasn't registered.
44 votes -
Hierarchical Loggers like log4net
we have componentxx.exe with his dependency componentxx.data.dll and in log4net and log4j
you have the ability to include specify for namespace ex. componentxxdata.model to log only information’s and for componentxxdata.model.error to log only errors88 votes -
Add transitory failure & retry logic for SQL 2012 AlwaysOn support
Add transitory failure and retry logic for SQL 2012 AlwaysOn support to the data application block
11 votes -
5 votes
-
RollingFileTraceListener should have option to put column headers
Using the RollingFileTraceListener we write a CSV file (in our production environment).
It would be useful for us if the CSV files had column headers. This option is not available I believe in the current framework.
4 votes -
Avoid needing to create a new ExceptionFormatter for a custom format.
Log exception using the log formatter of the logging category or define one inline.
3 votes -
Custom handling of unresolved types during LoadConfiguration()
I have large hierarchy of objects spread across several assemblies and deployment packages. I want to configure it once and reuse the same configuration file in several applications. I am looking for a way to instruct unity to ignore unresolved <register type=""> entry and continue registering other types.
For my case it would be sufficient just to ignore such types, but ideally this should be an event or callback delegate that would be called on each such event so that it could be handled appropriately.
12 votes
- Don't see your idea?