Example #1
0
        private async Task <AzureTableGrainStorage> InitAzureTableGrainStorage(bool useJson = false, TypeNameHandling?typeNameHandling = null)
        {
            var options     = new AzureTableStorageOptions();
            var jsonOptions = new JsonGrainStorageSerializerOptions {
                TypeNameHandling = typeNameHandling
            };

            options.ConfigureTestDefaults();

            // TODO change test to include more serializer?
            var binarySerializer = new OrleansGrainStorageSerializer(this.providerRuntime.ServiceProvider.GetRequiredService <Serializer>());
            var jsonSerializer   = new JsonGrainStorageSerializer(Options.Create(jsonOptions), this.providerRuntime.ServiceProvider);

            options.GrainStorageSerializer = useJson
                ? new GrainStorageSerializer(jsonSerializer, binarySerializer)
                : new GrainStorageSerializer(binarySerializer, jsonSerializer);

            AzureTableGrainStorage store     = ActivatorUtilities.CreateInstance <AzureTableGrainStorage>(this.providerRuntime.ServiceProvider, options, "TestStorage");
            ISiloLifecycleSubject  lifecycle = ActivatorUtilities.CreateInstance <SiloLifecycleSubject>(this.providerRuntime.ServiceProvider);

            store.Participate(lifecycle);
            await lifecycle.OnStart();

            return(store);
        }
Example #2
0
        private async Task <AzureTableGrainStorage> InitAzureTableGrainStorage(AzureTableStorageOptions options)
        {
            // TODO change test to include more serializer?
            var serializer = new OrleansGrainStorageSerializer(this.providerRuntime.ServiceProvider.GetRequiredService <Serializer>());
            AzureTableGrainStorage store     = ActivatorUtilities.CreateInstance <AzureTableGrainStorage>(this.providerRuntime.ServiceProvider, options, serializer, "TestStorage");
            ISiloLifecycleSubject  lifecycle = ActivatorUtilities.CreateInstance <SiloLifecycleSubject>(this.providerRuntime.ServiceProvider);

            store.Participate(lifecycle);
            await lifecycle.OnStart();

            return(store);
        }