using System.Net; using Elsa.Server.Orleans.Grains.Contracts; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Orleans; using Orleans.Configuration; using Orleans.Hosting; namespace Elsa.Samples.Server.Host { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup()) .UseOrleans(siloBuilder => siloBuilder .UseLocalhostClustering() .Configure(options => { options.ClusterId = "localhost"; options.ServiceId = "elsa-workflows"; }) .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(IWorkflowDefinitionGrain).Assembly).WithReferences()) .Configure(options => options.AdvertisedIPAddress = IPAddress.Loopback)); } }