diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b62005..3c4502c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: - name: Build run: dotnet build --configuration Release -p:ContinuousIntegrationBuild=true - name: Test - run: dotnet test --no-build --configuration Release --no-build --framework net7.0 + run: dotnet test --no-build --configuration Release --no-build --framework net8.0 env: REDIS_HOST: localhost REDIS_PORT: ${{ job.services.redis.ports[6379] }} diff --git a/.travis.yml b/.travis.yml index 9619995..21b14fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: csharp mono: none -dotnet: 7.0.100 +dotnet: 8.0.100 script: - dotnet restore - dotnet pack diff --git a/Directory.Build.props b/Directory.Build.props index 734f051..866203b 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -37,8 +37,8 @@ - 7.0.0.0 - 7.0.0 + 8.0.0.0 + 8.0.0 diff --git a/global.json b/global.json index 70e3dcc..5ce8495 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "7.0.100" + "version": "8.0.100" } } diff --git a/src/Orleans.Clustering.Redis/Orleans.Clustering.Redis.csproj b/src/Orleans.Clustering.Redis/Orleans.Clustering.Redis.csproj index e654a97..8061eb1 100644 --- a/src/Orleans.Clustering.Redis/Orleans.Clustering.Redis.csproj +++ b/src/Orleans.Clustering.Redis/Orleans.Clustering.Redis.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 @@ -10,14 +10,14 @@ - - - - + + + + - + diff --git a/src/Orleans.Clustering.Redis/Storage/RedisClusteringException.cs b/src/Orleans.Clustering.Redis/Storage/RedisClusteringException.cs index 7f67754..bd864f9 100644 --- a/src/Orleans.Clustering.Redis/Storage/RedisClusteringException.cs +++ b/src/Orleans.Clustering.Redis/Storage/RedisClusteringException.cs @@ -20,6 +20,7 @@ public RedisClusteringException(string message) : base(message) { } public RedisClusteringException(string message, Exception innerException) : base(message, innerException) { } /// + [Obsolete] protected RedisClusteringException(SerializationInfo info, StreamingContext context) : base(info, context) { } } } \ No newline at end of file diff --git a/src/Orleans.Persistence.Redis/Hosting/RedisGrainStorageServiceCollectionExtensions.cs b/src/Orleans.Persistence.Redis/Hosting/RedisGrainStorageServiceCollectionExtensions.cs index 89d7040..c90692c 100644 --- a/src/Orleans.Persistence.Redis/Hosting/RedisGrainStorageServiceCollectionExtensions.cs +++ b/src/Orleans.Persistence.Redis/Hosting/RedisGrainStorageServiceCollectionExtensions.cs @@ -1,12 +1,11 @@ -using System; +using System; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; using Orleans.Configuration; using Orleans.Hosting; using Orleans.Persistence; using Orleans.Providers; -using Orleans.Runtime; +using Orleans.Runtime.Hosting; using Orleans.Storage; namespace Orleans.Hosting @@ -17,7 +16,7 @@ namespace Orleans.Hosting public static class RedisGrainStorageServiceCollectionExtensions { /// - /// Configure silo to use azure blob storage as the default grain storage. + /// Configure silo to use Redis as the default grain storage. /// public static IServiceCollection AddRedisGrainStorageAsDefault(this IServiceCollection services, Action configureOptions) { @@ -25,7 +24,7 @@ public static IServiceCollection AddRedisGrainStorageAsDefault(this IServiceColl } /// - /// Configure silo to use azure blob storage for grain storage. + /// Configure silo to use Redis for grain storage. /// public static IServiceCollection AddRedisGrainStorage(this IServiceCollection services, string name, Action configureOptions) { @@ -33,7 +32,7 @@ public static IServiceCollection AddRedisGrainStorage(this IServiceCollection se } /// - /// Configure silo to use azure blob storage as the default grain storage. + /// Configure silo to use Redis as the default grain storage. /// public static IServiceCollection AddRedisGrainStorageAsDefault(this IServiceCollection services, Action> configureOptions = null) { @@ -41,7 +40,7 @@ public static IServiceCollection AddRedisGrainStorageAsDefault(this IServiceColl } /// - /// Configure silo to use azure blob storage for grain storage. + /// Configure silo to use Redis for grain storage. /// public static IServiceCollection AddRedisGrainStorage(this IServiceCollection services, string name, Action> configureOptions = null) @@ -50,12 +49,7 @@ public static IServiceCollection AddRedisGrainStorage(this IServiceCollection se services.AddTransient(sp => new RedisStorageOptionsValidator(sp.GetRequiredService>().Get(name), name)); services.AddTransient, DefaultStorageProviderSerializerOptionsConfigurator>(); services.ConfigureNamedOptionForLogging(name); - if (string.Equals(name, ProviderConstants.DEFAULT_STORAGE_PROVIDER_NAME, StringComparison.Ordinal)) - { - services.TryAddSingleton(sp => sp.GetServiceByName(ProviderConstants.DEFAULT_STORAGE_PROVIDER_NAME)); - } - services.AddSingletonNamedService(name, RedisGrainStorageFactory.Create) - .AddSingletonNamedService>(name, (s, n) => (ILifecycleParticipant)s.GetRequiredServiceByName(n)); + services.AddGrainStorage(name, RedisGrainStorageFactory.Create); return services; } } diff --git a/src/Orleans.Persistence.Redis/Orleans.Persistence.Redis.csproj b/src/Orleans.Persistence.Redis/Orleans.Persistence.Redis.csproj index 30abf03..15de941 100644 --- a/src/Orleans.Persistence.Redis/Orleans.Persistence.Redis.csproj +++ b/src/Orleans.Persistence.Redis/Orleans.Persistence.Redis.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 @@ -10,13 +10,13 @@ - - - + + + - + diff --git a/src/Orleans.Persistence.Redis/Storage/RedisGrainStorageFactory.cs b/src/Orleans.Persistence.Redis/Storage/RedisGrainStorageFactory.cs index 4d203bf..87cd3c8 100644 --- a/src/Orleans.Persistence.Redis/Storage/RedisGrainStorageFactory.cs +++ b/src/Orleans.Persistence.Redis/Storage/RedisGrainStorageFactory.cs @@ -13,7 +13,7 @@ public static class RedisGrainStorageFactory /// /// Creates a grain storage instance. /// - public static IGrainStorage Create(IServiceProvider services, string name) + public static RedisGrainStorage Create(IServiceProvider services, string name) { var optionsMonitor = services.GetRequiredService>(); var redisGrainStorage = ActivatorUtilities.CreateInstance(services, name, optionsMonitor.Get(name)); diff --git a/src/Orleans.Persistence.Redis/Storage/RedisStorageException.cs b/src/Orleans.Persistence.Redis/Storage/RedisStorageException.cs index 7559c54..6700c82 100644 --- a/src/Orleans.Persistence.Redis/Storage/RedisStorageException.cs +++ b/src/Orleans.Persistence.Redis/Storage/RedisStorageException.cs @@ -34,6 +34,7 @@ public RedisStorageException(string message, Exception inner) : base(message, in } /// + [Obsolete] protected RedisStorageException( SerializationInfo info, StreamingContext context) : base(info, context) diff --git a/src/Orleans.Reminders.Redis/Orleans.Reminders.Redis.csproj b/src/Orleans.Reminders.Redis/Orleans.Reminders.Redis.csproj index 28b1afd..5782e90 100644 --- a/src/Orleans.Reminders.Redis/Orleans.Reminders.Redis.csproj +++ b/src/Orleans.Reminders.Redis/Orleans.Reminders.Redis.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 @@ -10,14 +10,14 @@ - - - - + + + + - + diff --git a/test/Orleans.Clustering.Redis.Test/Orleans.Clustering.Redis.Test.csproj b/test/Orleans.Clustering.Redis.Test/Orleans.Clustering.Redis.Test.csproj index edf209d..cbdd8e1 100644 --- a/test/Orleans.Clustering.Redis.Test/Orleans.Clustering.Redis.Test.csproj +++ b/test/Orleans.Clustering.Redis.Test/Orleans.Clustering.Redis.Test.csproj @@ -1,17 +1,17 @@  - net7.0 + net8.0 latest false - - - - - + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/test/Orleans.Persistence.Redis.TestGrainInterfaces/Orleans.Persistence.Redis.TestGrainInterfaces.csproj b/test/Orleans.Persistence.Redis.TestGrainInterfaces/Orleans.Persistence.Redis.TestGrainInterfaces.csproj index 7d9d63a..b53f6d2 100644 --- a/test/Orleans.Persistence.Redis.TestGrainInterfaces/Orleans.Persistence.Redis.TestGrainInterfaces.csproj +++ b/test/Orleans.Persistence.Redis.TestGrainInterfaces/Orleans.Persistence.Redis.TestGrainInterfaces.csproj @@ -1,11 +1,11 @@  - net7.0 + net8.0 - - + + diff --git a/test/Orleans.Persistence.Redis.TestGrains/Orleans.Persistence.Redis.TestGrains.csproj b/test/Orleans.Persistence.Redis.TestGrains/Orleans.Persistence.Redis.TestGrains.csproj index 7573c9d..45dc934 100644 --- a/test/Orleans.Persistence.Redis.TestGrains/Orleans.Persistence.Redis.TestGrains.csproj +++ b/test/Orleans.Persistence.Redis.TestGrains/Orleans.Persistence.Redis.TestGrains.csproj @@ -1,12 +1,12 @@  - net7.0 + net8.0 - - + + diff --git a/test/Orleans.Persistence.Redis.Tests/Orleans.Persistence.Redis.Tests.csproj b/test/Orleans.Persistence.Redis.Tests/Orleans.Persistence.Redis.Tests.csproj index f3375be..a826c39 100644 --- a/test/Orleans.Persistence.Redis.Tests/Orleans.Persistence.Redis.Tests.csproj +++ b/test/Orleans.Persistence.Redis.Tests/Orleans.Persistence.Redis.Tests.csproj @@ -1,21 +1,21 @@  - net7.0 + net8.0 false - - - - - - - - - - + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/test/Orleans.Reminders.Redis.TestGrainInterfaces/Orleans.Reminders.Redis.TestGrainInterfaces.csproj b/test/Orleans.Reminders.Redis.TestGrainInterfaces/Orleans.Reminders.Redis.TestGrainInterfaces.csproj index 40fd1b4..34ee54f 100644 --- a/test/Orleans.Reminders.Redis.TestGrainInterfaces/Orleans.Reminders.Redis.TestGrainInterfaces.csproj +++ b/test/Orleans.Reminders.Redis.TestGrainInterfaces/Orleans.Reminders.Redis.TestGrainInterfaces.csproj @@ -1,10 +1,10 @@  - net7.0 + net8.0 - + diff --git a/test/Orleans.Reminders.Redis.TestGrains/Orleans.Reminders.Redis.TestGrains.csproj b/test/Orleans.Reminders.Redis.TestGrains/Orleans.Reminders.Redis.TestGrains.csproj index 408df50..131992b 100644 --- a/test/Orleans.Reminders.Redis.TestGrains/Orleans.Reminders.Redis.TestGrains.csproj +++ b/test/Orleans.Reminders.Redis.TestGrains/Orleans.Reminders.Redis.TestGrains.csproj @@ -1,11 +1,11 @@  - net7.0 + net8.0 - + diff --git a/test/Orleans.Reminders.Redis.Tests/Orleans.Reminders.Redis.Tests.csproj b/test/Orleans.Reminders.Redis.Tests/Orleans.Reminders.Redis.Tests.csproj index 43adcea..42e70cf 100644 --- a/test/Orleans.Reminders.Redis.Tests/Orleans.Reminders.Redis.Tests.csproj +++ b/test/Orleans.Reminders.Redis.Tests/Orleans.Reminders.Redis.Tests.csproj @@ -1,20 +1,20 @@  - net7.0 + net8.0 false - - - - - - - - - + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive