Skip to content

Commit

Permalink
Adds readme for extensions libraries
Browse files Browse the repository at this point in the history
  • Loading branch information
maryamariyan committed Oct 24, 2022
1 parent e7ca4a8 commit cf659c1
Show file tree
Hide file tree
Showing 6 changed files with 88 additions and 4 deletions.
13 changes: 13 additions & 0 deletions src/libraries/Microsoft.Extensions.Caching.Abstractions/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Microsoft.Extensions.Caching

Caching is combined with a core caching abstraction under `Microsoft.Extensions.Caching.Abstractions` that allows for implementing general purpose memory and distributed caches, with integration for Redis and SqlServer.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/caching.

## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

The APIs and functionality need more investment in the upcoming .NET releases.

## Deployment
[Microsoft.Extensions.Caching](https://www.nuget.org/packages/Microsoft.Extensions.Caching) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.
13 changes: 13 additions & 0 deletions src/libraries/Microsoft.Extensions.Configuration/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Microsoft.Extensions.Configuration

`Microsoft.Extensions.Configuration` is combined with a core configuration abstraction under `Microsoft.Extensions.Configuration.Abstractions` that allows for building different kinds of configuration providers to retrieve key/value pair configuration values from in the form of `IConfiguration`. There are a number of built-in configuration provider implementations to read from environment variables, in-memory collections, JSON, INI or XML files. Aside from the built-in variations, there are more shipped libraries shipped by community for integration with various configuration service and other data sources.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/configuration.

## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

The APIs and functionality are mature, but do get extended occasionally.

## Deployment
[Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.
17 changes: 13 additions & 4 deletions src/libraries/Microsoft.Extensions.DependencyInjection/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
DependencyInjection
===================
# Microsoft.Extensions.DependencyInjection

Contains common DI abstractions that ASP.NET Core and Entity Framework Core use.
`Microsoft.Extensions.DependencyInjection` is combined with a core DI abstraction under `Microsoft.Extensions.DependencyInjection.Abstractions` that allows for building different kinds of dependency injection containers to retrieve services from that have been registered with different lifetimes.

### Using other containers with Microsoft.Extensions.DependencyInjection
Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection.

## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

The APIs and functionality are mature, but do get extended occasionally.

## Deployment
[Microsoft.Extensions.DependencyInjection](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.

## Using other containers with Microsoft.Extensions.DependencyInjection

* [**Autofac**](https://autofac.readthedocs.org/en/latest/integration/aspnetcore.html)
* [**DryIoc**](https://www.nuget.org/packages/DryIoc.Microsoft.DependencyInjection)
Expand Down
22 changes: 22 additions & 0 deletions src/libraries/Microsoft.Extensions.Hosting/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Microsoft.Extensions.Hosting

`Microsoft.Extensions.Hosting` is combined with a core hosting abstraction under `Microsoft.Extensions.Hosting.Abstractions` that provides the pattern for using the extensions libraries to host user code in an application. Hosting helps configure Logging, Configuration, DI, and to wire up specific application models like ASP.NET Core that are built on top of hosting.

Hosting provides as a primitive the concept of a hosted service, which is how application models like ASP.NET Core integrate with the host. Users often write hosted services as to handle their own application concerns.

Hosting provides good integration for long-running console applications, windows services, ASP.NET Core.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.hosting.

## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

The APIs and functionality are mature and there is no active plan for investment but we are open to explore ideas to invest in it in more depth in the future. The ideal future investments here may be to:

- Support all .NET Core application models like: WinForms, WPF, UWP, Xamarin, Short-running (batch) console jobs, Blazor (client),
- Support for idle/pause in hosted services.
- Support more base-classes for hosted services like timer-based and trigger-based

## Deployment
[Microsoft.Extensions.Hosting](https://www.nuget.org/packages/Microsoft.Extensions.Hosting) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.

14 changes: 14 additions & 0 deletions src/libraries/Microsoft.Extensions.Logging/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Microsoft.Extensions.Logging

`Microsoft.Extensions.Logging` is combined with a core logging abstraction under `Microsoft.Extensions.Logging.Abstractions`. This abstraction is available in our basic built-in implementations like console, event log, and debug (Debug.WriteLine). Also note, there is no dedicated built-in solution for file-based logging.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/logging.

## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)
- [x] [We consider PRs that target this library for improvements to the logging source generator](../../libraries/README.md#secondary-bars)

The APIs and functionality are mature, but do get extended occasionally.

## Deployment
[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.
13 changes: 13 additions & 0 deletions src/libraries/Microsoft.Extensions.Options/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Microsoft.Extensions.Options

`Microsoft.Extensions.Options` acts as a bridge between configuration, DI, and a higher level libraries. This library is the glue for how an app developer uses DI to configure the behavior of a library like HttpClient Factory. This also enables user to get a strongly-typed view of their configuration.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/options.

## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

Although the types are mature, the code base continues to evolve for better performance.

## Deployment
[Microsoft.Extensions.Options](https://www.nuget.org/packages/Microsoft.Extensions.Options) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.

0 comments on commit cf659c1

Please sign in to comment.