public static ISiloBuilder AddTestGrainService(this ISiloBuilder builder, string configProperty) { return(builder.AddGrainService <TestGrainService>() .ConfigureServices(services => services .AddSingleton <ITestGrainServiceClient, TestGrainServiceClient>() .AddOptions <TestGrainServiceOptions>().Configure(o => o.ConfigProperty = configProperty))); }
public static ISiloBuilder AddLocalPinnedGrain <TPinnedGrain>(this ISiloBuilder hostBuilder) where TPinnedGrain : ILocalPinnedGrain { if (!hostBuilder.Properties.ContainsKey(GrainPinnerPropertyName)) { hostBuilder.AddGrainService <LocalGrainPinner>(); hostBuilder.Properties[GrainPinnerPropertyName] = true; } hostBuilder.Configure <LocalPinOptions>(opt => opt.AddLocalPinnedGrain <TPinnedGrain>()); return(hostBuilder); }
public static ISiloBuilder AddJobFacSchedulingServices(this ISiloBuilder builder) { builder .AddGrainService <SchedulerService>() .ConfigureApplicationParts(parts => { parts.AddApplicationPart(typeof(ISchedulerQueue).Assembly).WithReferences(); parts.AddApplicationPart(typeof(ISchedulerService).Assembly).WithReferences(); parts.AddApplicationPart(typeof(IScheduledExecution).Assembly).WithReferences(); parts.AddApplicationPart(typeof(IScheduleWriter).Assembly).WithReferences(); parts.AddApplicationPart(typeof(SchedulerQueue).Assembly).WithReferences(); parts.AddApplicationPart(typeof(SchedulerService).Assembly).WithReferences(); parts.AddApplicationPart(typeof(ScheduledExecution).Assembly).WithReferences(); parts.AddApplicationPart(typeof(ScheduleWriter).Assembly).WithReferences(); }); return(builder); }