static CloudInfrastructureProviders CloudInfrastructureProviders(IContext c) { return new CloudInfrastructureProviders( // storage providers supporting the O/C mapper scenario c.Resolve<IBlobStorageProvider>(), c.Resolve<IQueueStorageProvider>(), c.Resolve<ITableStorageProvider>(), // optional providers supporting the execution framework scenario c.ResolveOptional<ILog>(), c.ResolveOptional<IProvisioningProvider>(), c.ResolveOptional<IRuntimeFinalizer>()); }
static IQueueStorageProvider QueueStorageProvider(IContext c) { IDataSerializer formatter; if (!c.TryResolve(out formatter)) { formatter = new CloudFormatter(); } return new QueueStorageProvider( c.Resolve<CloudQueueClient>(), c.Resolve<IBlobStorageProvider>(), formatter, // RuntimeFinalizer is a dependency (as the name suggest) on the worker runtime // This dependency is typically not available in a pure O/C mapper scenario. // In such case, we just pass a dummy finalizer (that won't be used any c.ResolveOptional<IRuntimeFinalizer>()); }