M.Executables.Executors.NetCore 3.0.0

An implementation of IExecutor and IExecutorAsync utilizing .NET Core dependecy injection.

Install-Package M.Executables.Executors.NetCore -Version 3.0.0
dotnet add package M.Executables.Executors.NetCore --version 3.0.0
<PackageReference Include="M.Executables.Executors.NetCore" Version="3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add M.Executables.Executors.NetCore --version 3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: M.Executables.Executors.NetCore, 3.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install M.Executables.Executors.NetCore as a Cake Addin
#addin nuget:?package=M.Executables.Executors.NetCore&version=3.0.0

// Install M.Executables.Executors.NetCore as a Cake Tool
#tool nuget:?package=M.Executables.Executors.NetCore&version=3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Sync and async implementations are now separated to be independent of each other.
Interceptors handling is changed to align to this separation and support more scenarios.

  • (breaking) NetCoreExecutor does not implement IExecutors any more.
    Implementations are now separated:
    NetCoreExecutor implements IExecutor
    new NetCoreExecutorAsync implements IExecutorAsync
    There is a new class NetCoreExecutors implementing IExecutors depending on the new implementations.
  • (breaking) IExecutionInterceptor is not called by both IExecutor and IExecutorAsync any more.
    IExecutorAsync will use IExecutionInterceptorAsync and IExecutionInterceptorAsync<TExecutable, TInput, TResult>
    IExecutor will use IExecutionInterceptor and IExecutionInterceptor<TExecutable, TInput, TResult>
  • (breaking) Async implementations are using .ConfigureAwait(false) for all await statements
  • Enhanced Interceptors execution

Sync and async implementations are now separated to be independent of each other.
Interceptors handling is changed to align to this separation and support more scenarios.

  • (breaking) NetCoreExecutor does not implement IExecutors any more.
    Implementations are now separated:
    NetCoreExecutor implements IExecutor
    new NetCoreExecutorAsync implements IExecutorAsync
    There is a new class NetCoreExecutors implementing IExecutors depending on the new implementations.
  • (breaking) IExecutionInterceptor is not called by both IExecutor and IExecutorAsync any more.
    IExecutorAsync will use IExecutionInterceptorAsync and IExecutionInterceptorAsync<TExecutable, TInput, TResult>
    IExecutor will use IExecutionInterceptor and IExecutionInterceptor<TExecutable, TInput, TResult>
  • (breaking) Async implementations are using .ConfigureAwait(false) for all await statements
  • Enhanced Interceptors execution

Release Notes

Breaking changes - separate sync and async implementations, interceptors handling.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
3.0.0 231 9/6/2019
2.0.0 373 1/6/2019
1.0.0 384 10/7/2018