diff --git a/Directory.Build.props b/Directory.Build.props index 3ce5ec0b20..f33cdec798 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -58,15 +58,15 @@ 15.7.179 2.8.2 - 2.0.0 - 2.0.0 - 2.0.0 - 2.0.0 - 2.0.0 + 2.1.1 + 2.1.1 + 2.1.1 + 2.1.1 + 2.1.1 2.0.0 2.0.0 - 2.0.0 - 2.0.0 + 2.1.1 + 2.1.1 2.1.0 2.1.0 diff --git a/src/AWS/Orleans.Clustering.DynamoDB/AWSUtilsHostingExtensions.cs b/src/AWS/Orleans.Clustering.DynamoDB/AWSUtilsHostingExtensions.cs index cce268b21e..58bed61d1d 100644 --- a/src/AWS/Orleans.Clustering.DynamoDB/AWSUtilsHostingExtensions.cs +++ b/src/AWS/Orleans.Clustering.DynamoDB/AWSUtilsHostingExtensions.cs @@ -3,6 +3,7 @@ using Orleans.Configuration; using Orleans.Messaging; using System; +using Microsoft.Extensions.Options; namespace Orleans.Hosting { diff --git a/src/AWS/Orleans.Streaming.SQS/Streams/SQSStreamBuilder.cs b/src/AWS/Orleans.Streaming.SQS/Streams/SQSStreamBuilder.cs index 64f417286e..89fe7e3418 100644 --- a/src/AWS/Orleans.Streaming.SQS/Streams/SQSStreamBuilder.cs +++ b/src/AWS/Orleans.Streaming.SQS/Streams/SQSStreamBuilder.cs @@ -7,6 +7,7 @@ using Orleans.Providers.Streams.Common; using Orleans.ApplicationParts; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; namespace Orleans.Streams { diff --git a/src/AdoNet/Orleans.Clustering.AdoNet/AdoNetHostingExtensions.cs b/src/AdoNet/Orleans.Clustering.AdoNet/AdoNetHostingExtensions.cs index ea8c8da37e..36847b3928 100644 --- a/src/AdoNet/Orleans.Clustering.AdoNet/AdoNetHostingExtensions.cs +++ b/src/AdoNet/Orleans.Clustering.AdoNet/AdoNetHostingExtensions.cs @@ -1,5 +1,6 @@ using System; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Orleans.Messaging; using Orleans.Runtime.Membership; using Orleans.Runtime.MembershipService; diff --git a/src/AdoNet/Orleans.Reminders.AdoNet/SiloHostBuilderReminderExtensions.cs b/src/AdoNet/Orleans.Reminders.AdoNet/SiloHostBuilderReminderExtensions.cs index 555d11b99e..0baab1b1bc 100644 --- a/src/AdoNet/Orleans.Reminders.AdoNet/SiloHostBuilderReminderExtensions.cs +++ b/src/AdoNet/Orleans.Reminders.AdoNet/SiloHostBuilderReminderExtensions.cs @@ -1,6 +1,7 @@ using System; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Runtime.ReminderService; diff --git a/src/Azure/Orleans.Clustering.AzureStorage/AzureTableClusteringExtensions.cs b/src/Azure/Orleans.Clustering.AzureStorage/AzureTableClusteringExtensions.cs index 63e1936357..f4ca661030 100644 --- a/src/Azure/Orleans.Clustering.AzureStorage/AzureTableClusteringExtensions.cs +++ b/src/Azure/Orleans.Clustering.AzureStorage/AzureTableClusteringExtensions.cs @@ -1,5 +1,6 @@ using System; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Orleans.AzureUtils; using Orleans.Messaging; using Orleans.Runtime.MembershipService; diff --git a/src/Azure/Orleans.Hosting.AzureCloudServices/Orleans.Hosting.AzureCloudServices.csproj b/src/Azure/Orleans.Hosting.AzureCloudServices/Orleans.Hosting.AzureCloudServices.csproj index b85c6702b8..3fa2d0d364 100644 --- a/src/Azure/Orleans.Hosting.AzureCloudServices/Orleans.Hosting.AzureCloudServices.csproj +++ b/src/Azure/Orleans.Hosting.AzureCloudServices/Orleans.Hosting.AzureCloudServices.csproj @@ -1,4 +1,4 @@ - + Microsoft.Orleans.Hosting.AzureCloudServices Microsoft Orleans Hosting on Azure Cloud Services @@ -12,7 +12,7 @@ true $(DefineConstants);ORLEANS_HOSTING_CLOUDSERVICES - + diff --git a/src/Azure/Orleans.Hosting.AzureCloudServices/QueueBalancers/AzureDeploymentQueueBalancer.cs b/src/Azure/Orleans.Hosting.AzureCloudServices/QueueBalancers/AzureDeploymentQueueBalancer.cs index 0c82becb98..222a2c8888 100644 --- a/src/Azure/Orleans.Hosting.AzureCloudServices/QueueBalancers/AzureDeploymentQueueBalancer.cs +++ b/src/Azure/Orleans.Hosting.AzureCloudServices/QueueBalancers/AzureDeploymentQueueBalancer.cs @@ -4,6 +4,7 @@ using Microsoft.Extensions.Logging; using Orleans.Configuration; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; namespace Orleans.Streams { diff --git a/src/Azure/Orleans.Streaming.AzureStorage/Hosting/ClientBuilderExtensions.cs b/src/Azure/Orleans.Streaming.AzureStorage/Hosting/ClientBuilderExtensions.cs index c2e3435722..b69927a43e 100644 --- a/src/Azure/Orleans.Streaming.AzureStorage/Hosting/ClientBuilderExtensions.cs +++ b/src/Azure/Orleans.Streaming.AzureStorage/Hosting/ClientBuilderExtensions.cs @@ -1,4 +1,5 @@ using System; +using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Providers.Streams.AzureQueue; using Orleans.Streaming; diff --git a/src/Azure/Orleans.Streaming.AzureStorage/Hosting/SiloBuilderExtensions.cs b/src/Azure/Orleans.Streaming.AzureStorage/Hosting/SiloBuilderExtensions.cs index bfdd39c62a..f679a688d7 100644 --- a/src/Azure/Orleans.Streaming.AzureStorage/Hosting/SiloBuilderExtensions.cs +++ b/src/Azure/Orleans.Streaming.AzureStorage/Hosting/SiloBuilderExtensions.cs @@ -1,4 +1,5 @@ using System; +using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Providers.Streams.AzureQueue; using Orleans.Streaming; diff --git a/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubStreamBuilder.cs b/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubStreamBuilder.cs index 961328dd2e..4ad7180b8a 100644 --- a/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubStreamBuilder.cs +++ b/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubStreamBuilder.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; +using Microsoft.Extensions.Options; using Orleans.Providers.Streams.Common; using Orleans.ApplicationParts; diff --git a/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/SiloEventHubStreamBuilderExtensions.cs b/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/SiloEventHubStreamBuilderExtensions.cs index ad57573a7a..2a13ff8e49 100644 --- a/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/SiloEventHubStreamBuilderExtensions.cs +++ b/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/SiloEventHubStreamBuilderExtensions.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Text; +using Microsoft.Extensions.Options; namespace Orleans.Streams { diff --git a/src/Azure/Orleans.Transactions.AzureStorage/Hosting/AzureTableTransactionsSiloBuilderExtensions.cs b/src/Azure/Orleans.Transactions.AzureStorage/Hosting/AzureTableTransactionsSiloBuilderExtensions.cs index f096f950f8..4a70d2c83b 100644 --- a/src/Azure/Orleans.Transactions.AzureStorage/Hosting/AzureTableTransactionsSiloBuilderExtensions.cs +++ b/src/Azure/Orleans.Transactions.AzureStorage/Hosting/AzureTableTransactionsSiloBuilderExtensions.cs @@ -4,6 +4,7 @@ using Orleans.Configuration; using Orleans.Transactions.Abstractions; using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Options; using Orleans.Providers; using Orleans.Transactions.AzureStorage; diff --git a/src/Orleans.Clustering.Consul/ConsulUtilsHostingExtensions.cs b/src/Orleans.Clustering.Consul/ConsulUtilsHostingExtensions.cs index 8b7d761cc7..1b410485cc 100644 --- a/src/Orleans.Clustering.Consul/ConsulUtilsHostingExtensions.cs +++ b/src/Orleans.Clustering.Consul/ConsulUtilsHostingExtensions.cs @@ -1,5 +1,6 @@ using System; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Orleans.Messaging; using Orleans.Runtime.Membership; using Orleans.Configuration; diff --git a/src/Orleans.Clustering.ZooKeeper/ZooKeeperHostingExtensions.cs b/src/Orleans.Clustering.ZooKeeper/ZooKeeperHostingExtensions.cs index 2830173ec6..a6b06f0bcb 100644 --- a/src/Orleans.Clustering.ZooKeeper/ZooKeeperHostingExtensions.cs +++ b/src/Orleans.Clustering.ZooKeeper/ZooKeeperHostingExtensions.cs @@ -1,5 +1,6 @@ using System; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Orleans.Messaging; using Orleans.Runtime.Membership; using Orleans.Configuration; diff --git a/src/Orleans.Core/Core/ClientBuilderExtensions.cs b/src/Orleans.Core/Core/ClientBuilderExtensions.cs index ba6f7d432d..3496bccac9 100644 --- a/src/Orleans.Core/Core/ClientBuilderExtensions.cs +++ b/src/Orleans.Core/Core/ClientBuilderExtensions.cs @@ -3,6 +3,7 @@ using System.Net; using System.Collections.Generic; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Options; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Orleans.Configuration; diff --git a/src/Orleans.Core/Hosting/Options/ConfigureNamedOptions.cs b/src/Orleans.Core/Hosting/Options/ConfigureNamedOptions.cs deleted file mode 100644 index 87b768987d..0000000000 --- a/src/Orleans.Core/Hosting/Options/ConfigureNamedOptions.cs +++ /dev/null @@ -1,327 +0,0 @@ -// Code from https://github.com/aspnet/Options/blob/edc21af4166574ecd45d8f8dbd381dfec044f367/src/Microsoft.Extensions.Options/ConfigureNamedOptions.cs -// This will be removed and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - -using System; -using Microsoft.Extensions.Options; - -namespace Orleans.Configuration -{ - /// - /// Implementation of IConfigureNamedOptions. - /// - /// - /// - internal class ConfigureNamedOptions : IConfigureNamedOptions - where TOptions : class - where TDep : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// The action to register. - public ConfigureNamedOptions(string name, TDep dependency, Action action) - { - Name = name; - Action = action; - Dependency = dependency; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep Dependency { get; } - - public virtual void Configure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency); - } - } - - public void Configure(TOptions options) => Configure(Options.DefaultName, options); - } - - /// - /// Implementation of IConfigureNamedOptions. - /// - /// - /// - /// - internal class ConfigureNamedOptions : IConfigureNamedOptions - where TOptions : class - where TDep1 : class - where TDep2 : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// A second dependency. - /// The action to register. - public ConfigureNamedOptions(string name, TDep1 dependency, TDep2 dependency2, Action action) - { - Name = name; - Action = action; - Dependency1 = dependency; - Dependency2 = dependency2; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep1 Dependency1 { get; } - - public TDep2 Dependency2 { get; } - - public virtual void Configure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency1, Dependency2); - } - } - - public void Configure(TOptions options) => Configure(Options.DefaultName, options); - } - - /// - /// Implementation of IConfigureNamedOptions. - /// - /// - /// - /// - /// - internal class ConfigureNamedOptions : IConfigureNamedOptions - where TOptions : class - where TDep1 : class - where TDep2 : class - where TDep3 : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// A second dependency. - /// A third dependency. - /// The action to register. - public ConfigureNamedOptions(string name, TDep1 dependency, TDep2 dependency2, TDep3 dependency3, Action action) - { - Name = name; - Action = action; - Dependency1 = dependency; - Dependency2 = dependency2; - Dependency3 = dependency3; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep1 Dependency1 { get; } - - public TDep2 Dependency2 { get; } - - public TDep3 Dependency3 { get; } - - - public virtual void Configure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency1, Dependency2, Dependency3); - } - } - - public void Configure(TOptions options) => Configure(Options.DefaultName, options); - } - - /// - /// Implementation of IConfigureNamedOptions. - /// - /// - /// - /// - /// - /// - internal class ConfigureNamedOptions : IConfigureNamedOptions - where TOptions : class - where TDep1 : class - where TDep2 : class - where TDep3 : class - where TDep4 : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// A second dependency. - /// A third dependency. - /// A fourth dependency. - /// The action to register. - public ConfigureNamedOptions(string name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, Action action) - { - Name = name; - Action = action; - Dependency1 = dependency1; - Dependency2 = dependency2; - Dependency3 = dependency3; - Dependency4 = dependency4; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep1 Dependency1 { get; } - - public TDep2 Dependency2 { get; } - - public TDep3 Dependency3 { get; } - - public TDep4 Dependency4 { get; } - - - public virtual void Configure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency1, Dependency2, Dependency3, Dependency4); - } - } - - public void Configure(TOptions options) => Configure(Options.DefaultName, options); - } - - /// - /// Implementation of IConfigureNamedOptions. - /// - /// - /// - /// - /// - /// - /// - internal class ConfigureNamedOptions : IConfigureNamedOptions - where TOptions : class - where TDep1 : class - where TDep2 : class - where TDep3 : class - where TDep4 : class - where TDep5 : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// A second dependency. - /// A third dependency. - /// A fourth dependency. - /// A fifth dependency. - /// The action to register. - public ConfigureNamedOptions(string name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, Action action) - { - Name = name; - Action = action; - Dependency1 = dependency1; - Dependency2 = dependency2; - Dependency3 = dependency3; - Dependency4 = dependency4; - Dependency5 = dependency5; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep1 Dependency1 { get; } - - public TDep2 Dependency2 { get; } - - public TDep3 Dependency3 { get; } - - public TDep4 Dependency4 { get; } - - public TDep5 Dependency5 { get; } - - - public virtual void Configure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency1, Dependency2, Dependency3, Dependency4, Dependency5); - } - } - - public void Configure(TOptions options) => Configure(Options.DefaultName, options); - } - -} \ No newline at end of file diff --git a/src/Orleans.Core/Hosting/Options/OptionsBuilder.cs b/src/Orleans.Core/Hosting/Options/OptionsBuilder.cs deleted file mode 100644 index ade3178252..0000000000 --- a/src/Orleans.Core/Hosting/Options/OptionsBuilder.cs +++ /dev/null @@ -1,260 +0,0 @@ -// Code from https://github.com/aspnet/Options/blob/edc21af4166574ecd45d8f8dbd381dfec044f367/src/Microsoft.Extensions.Options/OptionsBuilder.cs -// This will be removed and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - -using System; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; - -namespace Orleans.Configuration -{ - /// - /// Used to configure TOptions instances. This will be deprecated and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - /// - /// The type of options being requested. - public class OptionsBuilder where TOptions : class - { - /// - /// The default name of the TOptions instance. - /// - public string Name { get; } - - /// - /// The for the options being configured. - /// - public IServiceCollection Services { get; } - - /// - /// Constructor. - /// - /// The for the options being configured. - /// The default name of the TOptions instance, if null Options.DefaultName is used. - public OptionsBuilder(IServiceCollection services, string name) - { - if (services == null) - { - throw new ArgumentNullException(nameof(services)); - } - - Services = services; - Name = name ?? Options.DefaultName; - } - - /// - /// Registers an action used to configure a particular type of options. - /// Note: These are run before all . - /// - /// The action used to configure the options. - public virtual OptionsBuilder Configure(Action configureOptions) - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddSingleton>(new ConfigureNamedOptions(Name, configureOptions)); - return this; - } - - public virtual OptionsBuilder Configure(Action configureOptions) - where TDep : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>(sp => - new ConfigureNamedOptions(Name, sp.GetRequiredService(), configureOptions)); - return this; - } - - public virtual OptionsBuilder Configure(Action configureOptions) - where TDep1 : class - where TDep2 : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>(sp => - new ConfigureNamedOptions(Name, sp.GetRequiredService(), sp.GetRequiredService(), configureOptions)); - return this; - } - - public virtual OptionsBuilder Configure(Action configureOptions) - where TDep1 : class - where TDep2 : class - where TDep3 : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>( - sp => new ConfigureNamedOptions( - Name, - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - configureOptions)); - return this; - } - - public virtual OptionsBuilder Configure(Action configureOptions) - where TDep1 : class - where TDep2 : class - where TDep3 : class - where TDep4 : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>( - sp => new ConfigureNamedOptions( - Name, - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - configureOptions)); - return this; - } - - public virtual OptionsBuilder Configure(Action configureOptions) - where TDep1 : class - where TDep2 : class - where TDep3 : class - where TDep4 : class - where TDep5 : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>( - sp => new ConfigureNamedOptions( - Name, - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - configureOptions)); - return this; - } - - /// - /// Registers an action used to configure a particular type of options. - /// Note: These are run after all . - /// - /// The action used to configure the options. - public virtual OptionsBuilder PostConfigure(Action configureOptions) - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddSingleton>(new PostConfigureOptions(Name, configureOptions)); - return this; - } - - public virtual OptionsBuilder PostConfigure(Action configureOptions) - where TDep : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>(sp => - new PostConfigureOptions(Name, sp.GetRequiredService(), configureOptions)); - return this; - } - - public virtual OptionsBuilder PostConfigure(Action configureOptions) - where TDep1 : class - where TDep2 : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>(sp => - new PostConfigureOptions(Name, sp.GetRequiredService(), sp.GetRequiredService(), configureOptions)); - return this; - } - - public virtual OptionsBuilder PostConfigure(Action configureOptions) - where TDep1 : class - where TDep2 : class - where TDep3 : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>( - sp => new PostConfigureOptions( - Name, - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - configureOptions)); - return this; - } - - public virtual OptionsBuilder PostConfigure(Action configureOptions) - where TDep1 : class - where TDep2 : class - where TDep3 : class - where TDep4 : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>( - sp => new PostConfigureOptions( - Name, - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - configureOptions)); - return this; - } - - public virtual OptionsBuilder PostConfigure(Action configureOptions) - where TDep1 : class - where TDep2 : class - where TDep3 : class - where TDep4 : class - where TDep5 : class - { - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - - Services.AddTransient>( - sp => new PostConfigureOptions( - Name, - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - sp.GetRequiredService(), - configureOptions)); - return this; - } - } -} \ No newline at end of file diff --git a/src/Orleans.Core/Hosting/Options/OptionsBuilderConfigurationExtensions.cs b/src/Orleans.Core/Hosting/Options/OptionsBuilderConfigurationExtensions.cs deleted file mode 100644 index a57ca83ea1..0000000000 --- a/src/Orleans.Core/Hosting/Options/OptionsBuilderConfigurationExtensions.cs +++ /dev/null @@ -1,33 +0,0 @@ -// Code from https://github.com/aspnet/Options/blob/fe3f1b15811958acfa0be7eb88656d4bd5943834/src/Microsoft.Extensions.Options.ConfigurationExtensions/OptionsBuilderConfigurationExtensions.cs -// This will be removed and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - -using System; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; - -namespace Orleans.Configuration -{ - /// - /// Extension methods for adding configuration related options services to the DI container via . This will be deprecated and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - /// - public static class OptionsBuilderConfigurationExtensions - { - /// - /// Registers a configuration instance which TOptions will bind against. - /// - /// The options type to be configured. - /// The options builder to add the services to. - /// The configuration being bound. - /// The so that additional calls can be chained. - public static OptionsBuilder Bind(this OptionsBuilder optionsBuilder, IConfiguration config) where TOptions : class - { - if (optionsBuilder == null) - { - throw new ArgumentNullException(nameof(optionsBuilder)); - } - - optionsBuilder.Services.Configure(optionsBuilder.Name, config); - return optionsBuilder; - } - } -} \ No newline at end of file diff --git a/src/Orleans.Core/Hosting/Options/OptionsServiceCollectionExtensions.cs b/src/Orleans.Core/Hosting/Options/OptionsServiceCollectionExtensions.cs deleted file mode 100644 index 0ddf64f029..0000000000 --- a/src/Orleans.Core/Hosting/Options/OptionsServiceCollectionExtensions.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Code from https://github.com/aspnet/Options/blob/fe3f1b15811958acfa0be7eb88656d4bd5943834/src/Microsoft.Extensions.Options/OptionsServiceCollectionExtensions.cs -// This will be removed and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - -using System; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; - -namespace Orleans.Configuration -{ - /// - /// Extension methods for adding options services to the DI container. This will be deprecated and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - /// - public static class OptionsServiceCollectionExtensions - { - /// - /// Gets an options builder that forwards Configure calls for the same to the underlying service collection. This will be deprecated and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - /// - /// The options type to be configured. - /// The to add the services to. - /// The so that configure calls can be chained in it. - public static OptionsBuilder AddOptions(this IServiceCollection services) - where TOptions : class - => services.AddOptions(Options.DefaultName); - - /// - /// Gets an options builder that forwards Configure calls for the same named to the underlying service collection. This will be deprecated and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - /// - /// The options type to be configured. - /// The to add the services to. - /// The name of the options instance. - /// The so that configure calls can be chained in it. - public static OptionsBuilder AddOptions(this IServiceCollection services, string name) - where TOptions : class - { - if (services == null) - { - throw new ArgumentNullException(nameof(services)); - } - - services.AddOptions(); - - return new OptionsBuilder(services, name); - } - } -} \ No newline at end of file diff --git a/src/Orleans.Core/Hosting/Options/PostConfigureOptions.cs b/src/Orleans.Core/Hosting/Options/PostConfigureOptions.cs deleted file mode 100644 index 2fc8fa6ac9..0000000000 --- a/src/Orleans.Core/Hosting/Options/PostConfigureOptions.cs +++ /dev/null @@ -1,327 +0,0 @@ -// Code from https://github.com/aspnet/Options/blob/edc21af4166574ecd45d8f8dbd381dfec044f367/src/Microsoft.Extensions.Options/PostConfigureOptions.cs -// This will be removed and superseded Mirosoft.Extensions.Options v2.1.0.0 once it ships. - -using System; -using Microsoft.Extensions.Options; - -namespace Orleans.Configuration -{ - /// - /// Implementation of IPostConfigureOptions. - /// - /// - /// - internal class PostConfigureOptions : IPostConfigureOptions - where TOptions : class - where TDep : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// The action to register. - public PostConfigureOptions(string name, TDep dependency, Action action) - { - Name = name; - Action = action; - Dependency = dependency; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep Dependency { get; } - - public virtual void PostConfigure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency); - } - } - - public void PostConfigure(TOptions options) => PostConfigure(Options.DefaultName, options); - } - - /// - /// Implementation of IPostConfigureOptions. - /// - /// - /// - /// - internal class PostConfigureOptions : IPostConfigureOptions - where TOptions : class - where TDep1 : class - where TDep2 : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// A second dependency. - /// The action to register. - public PostConfigureOptions(string name, TDep1 dependency, TDep2 dependency2, Action action) - { - Name = name; - Action = action; - Dependency1 = dependency; - Dependency2 = dependency2; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep1 Dependency1 { get; } - - public TDep2 Dependency2 { get; } - - public virtual void PostConfigure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency1, Dependency2); - } - } - - public void PostConfigure(TOptions options) => PostConfigure(Options.DefaultName, options); - } - - /// - /// Implementation of IPostConfigureOptions. - /// - /// - /// - /// - /// - internal class PostConfigureOptions : IPostConfigureOptions - where TOptions : class - where TDep1 : class - where TDep2 : class - where TDep3 : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// A second dependency. - /// A third dependency. - /// The action to register. - public PostConfigureOptions(string name, TDep1 dependency, TDep2 dependency2, TDep3 dependency3, Action action) - { - Name = name; - Action = action; - Dependency1 = dependency; - Dependency2 = dependency2; - Dependency3 = dependency3; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep1 Dependency1 { get; } - - public TDep2 Dependency2 { get; } - - public TDep3 Dependency3 { get; } - - - public virtual void PostConfigure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency1, Dependency2, Dependency3); - } - } - - public void PostConfigure(TOptions options) => PostConfigure(Options.DefaultName, options); - } - - /// - /// Implementation of IPostConfigureOptions. - /// - /// - /// - /// - /// - /// - internal class PostConfigureOptions : IPostConfigureOptions - where TOptions : class - where TDep1 : class - where TDep2 : class - where TDep3 : class - where TDep4 : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// A second dependency. - /// A third dependency. - /// A fourth dependency. - /// The action to register. - public PostConfigureOptions(string name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, Action action) - { - Name = name; - Action = action; - Dependency1 = dependency1; - Dependency2 = dependency2; - Dependency3 = dependency3; - Dependency4 = dependency4; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep1 Dependency1 { get; } - - public TDep2 Dependency2 { get; } - - public TDep3 Dependency3 { get; } - - public TDep4 Dependency4 { get; } - - - public virtual void PostConfigure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency1, Dependency2, Dependency3, Dependency4); - } - } - - public void PostConfigure(TOptions options) => PostConfigure(Options.DefaultName, options); - } - - /// - /// Implementation of IPostConfigureOptions. - /// - /// - /// - /// - /// - /// - /// - internal class PostConfigureOptions : IPostConfigureOptions - where TOptions : class - where TDep1 : class - where TDep2 : class - where TDep3 : class - where TDep4 : class - where TDep5 : class - { - /// - /// Constructor. - /// - /// The name of the options. - /// A dependency. - /// A second dependency. - /// A third dependency. - /// A fourth dependency. - /// A fifth dependency. - /// The action to register. - public PostConfigureOptions(string name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, Action action) - { - Name = name; - Action = action; - Dependency1 = dependency1; - Dependency2 = dependency2; - Dependency3 = dependency3; - Dependency4 = dependency4; - Dependency5 = dependency5; - } - - /// - /// The options name. - /// - public string Name { get; } - - /// - /// The configuration action. - /// - public Action Action { get; } - - public TDep1 Dependency1 { get; } - - public TDep2 Dependency2 { get; } - - public TDep3 Dependency3 { get; } - - public TDep4 Dependency4 { get; } - - public TDep5 Dependency5 { get; } - - - public virtual void PostConfigure(string name, TOptions options) - { - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - - // Null name is used to configure all named options. - if (Name == null || name == Name) - { - Action?.Invoke(options, Dependency1, Dependency2, Dependency3, Dependency4, Dependency5); - } - } - - public void PostConfigure(TOptions options) => PostConfigure(Options.DefaultName, options); - } - -} \ No newline at end of file diff --git a/src/Orleans.Core/Streams/ClientStreamExtensions.cs b/src/Orleans.Core/Streams/ClientStreamExtensions.cs index 466066d6dc..5e21cc98c5 100644 --- a/src/Orleans.Core/Streams/ClientStreamExtensions.cs +++ b/src/Orleans.Core/Streams/ClientStreamExtensions.cs @@ -1,6 +1,7 @@  using System; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Providers.Streams.Common; using Orleans.Providers.Streams.SimpleMessageStream; diff --git a/src/Orleans.Core/Streams/ClusterClientPersistentStreamConfigurator.cs b/src/Orleans.Core/Streams/ClusterClientPersistentStreamConfigurator.cs index 90ff2994bb..092cedfee8 100644 --- a/src/Orleans.Core/Streams/ClusterClientPersistentStreamConfigurator.cs +++ b/src/Orleans.Core/Streams/ClusterClientPersistentStreamConfigurator.cs @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using System.Text; +using Microsoft.Extensions.Options; namespace Orleans.Streams { diff --git a/src/Orleans.Runtime.Abstractions/Hosting/StreamHostingExtensions.cs b/src/Orleans.Runtime.Abstractions/Hosting/StreamHostingExtensions.cs index 1ca48ce8bc..d0d90379b4 100644 --- a/src/Orleans.Runtime.Abstractions/Hosting/StreamHostingExtensions.cs +++ b/src/Orleans.Runtime.Abstractions/Hosting/StreamHostingExtensions.cs @@ -1,5 +1,6 @@ using System; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Orleans.Runtime; using Orleans.Hosting; using Orleans.Streams; diff --git a/src/Orleans.Runtime.Abstractions/Streams/ISiloPersistentStreamConfigurator.cs b/src/Orleans.Runtime.Abstractions/Streams/ISiloPersistentStreamConfigurator.cs index a145c51aab..3dc30ca481 100644 --- a/src/Orleans.Runtime.Abstractions/Streams/ISiloPersistentStreamConfigurator.cs +++ b/src/Orleans.Runtime.Abstractions/Streams/ISiloPersistentStreamConfigurator.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Text; +using Microsoft.Extensions.Options; namespace Orleans.Streams { diff --git a/src/Orleans.Runtime/Hosting/CoreHostingExtensions.cs b/src/Orleans.Runtime/Hosting/CoreHostingExtensions.cs index 337383fe99..f258918497 100644 --- a/src/Orleans.Runtime/Hosting/CoreHostingExtensions.cs +++ b/src/Orleans.Runtime/Hosting/CoreHostingExtensions.cs @@ -2,6 +2,7 @@ using System.Net; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Runtime; using Orleans.Runtime.MembershipService; diff --git a/src/Orleans.Runtime/Streams/QueueBalancer/PersistentStreamConfiguratorExtension.cs b/src/Orleans.Runtime/Streams/QueueBalancer/PersistentStreamConfiguratorExtension.cs index 94d86e0b6a..24a2373d92 100644 --- a/src/Orleans.Runtime/Streams/QueueBalancer/PersistentStreamConfiguratorExtension.cs +++ b/src/Orleans.Runtime/Streams/QueueBalancer/PersistentStreamConfiguratorExtension.cs @@ -3,7 +3,6 @@ using Orleans.Streams; using System; using Microsoft.Extensions.DependencyInjection; -using System.Collections.Generic; using System.Text; using Orleans.Hosting; diff --git a/src/Orleans.Streaming.GCP/Providers/Streams/PubSub/PubSubStreamConfigurator.cs b/src/Orleans.Streaming.GCP/Providers/Streams/PubSub/PubSubStreamConfigurator.cs index c96f0c0cf1..963eb85ce0 100644 --- a/src/Orleans.Streaming.GCP/Providers/Streams/PubSub/PubSubStreamConfigurator.cs +++ b/src/Orleans.Streaming.GCP/Providers/Streams/PubSub/PubSubStreamConfigurator.cs @@ -7,6 +7,7 @@ using Orleans.Providers.Streams.Common; using Orleans.ApplicationParts; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; namespace Orleans.Streams { diff --git a/src/Orleans.TestingHost/TestStorageProviders/FaultyMemoryStorage.cs b/src/Orleans.TestingHost/TestStorageProviders/FaultyMemoryStorage.cs index 7f16eb0863..d662bbee27 100644 --- a/src/Orleans.TestingHost/TestStorageProviders/FaultyMemoryStorage.cs +++ b/src/Orleans.TestingHost/TestStorageProviders/FaultyMemoryStorage.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Hosting; using Orleans.Runtime; diff --git a/src/Orleans.Transactions.TestkitBase/FaultInjection/ControlledInjection/HostingExtensions.cs b/src/Orleans.Transactions.TestkitBase/FaultInjection/ControlledInjection/HostingExtensions.cs index e35461b8e6..80394c83ed 100644 --- a/src/Orleans.Transactions.TestkitBase/FaultInjection/ControlledInjection/HostingExtensions.cs +++ b/src/Orleans.Transactions.TestkitBase/FaultInjection/ControlledInjection/HostingExtensions.cs @@ -5,6 +5,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Hosting; using Orleans.Providers; diff --git a/src/OrleansProviders/Hosting/MemoryGrainStorageSiloBuilderExtensions.cs b/src/OrleansProviders/Hosting/MemoryGrainStorageSiloBuilderExtensions.cs index 3ed6ca42f6..34f4d6fcd9 100644 --- a/src/OrleansProviders/Hosting/MemoryGrainStorageSiloBuilderExtensions.cs +++ b/src/OrleansProviders/Hosting/MemoryGrainStorageSiloBuilderExtensions.cs @@ -1,5 +1,7 @@ using System; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Providers; using Orleans.Runtime; diff --git a/src/OrleansProviders/Streams/Common/RecoverableStreamConfigurator.cs b/src/OrleansProviders/Streams/Common/RecoverableStreamConfigurator.cs index aba8e25d59..c5cc191db7 100644 --- a/src/OrleansProviders/Streams/Common/RecoverableStreamConfigurator.cs +++ b/src/OrleansProviders/Streams/Common/RecoverableStreamConfigurator.cs @@ -7,6 +7,7 @@ using System; using System.Collections.Generic; using System.Text; +using Microsoft.Extensions.Options; namespace Orleans.Streams { diff --git a/test/Extensions/ServiceBus.Tests/StatisticMonitorTests/EHStatisticMonitorTests.cs b/test/Extensions/ServiceBus.Tests/StatisticMonitorTests/EHStatisticMonitorTests.cs index 9d52dae277..2e4ad09d5b 100644 --- a/test/Extensions/ServiceBus.Tests/StatisticMonitorTests/EHStatisticMonitorTests.cs +++ b/test/Extensions/ServiceBus.Tests/StatisticMonitorTests/EHStatisticMonitorTests.cs @@ -2,7 +2,7 @@ using System.Threading.Tasks; using Microsoft.Azure.EventHubs; using Orleans.Runtime; -using Orleans.Runtime.Configuration; +using Microsoft.Extensions.Options; using Orleans.Storage; using Orleans.Streams; using Orleans.TestingHost; diff --git a/test/Extensions/TesterAzureUtils/Tester.AzureUtils.csproj b/test/Extensions/TesterAzureUtils/Tester.AzureUtils.csproj index 76d129115c..bc901675a2 100644 --- a/test/Extensions/TesterAzureUtils/Tester.AzureUtils.csproj +++ b/test/Extensions/TesterAzureUtils/Tester.AzureUtils.csproj @@ -13,7 +13,6 @@ -