62 private static void Run()
64 HostApplicationBuilder builder = Host.CreateApplicationBuilder();
65 builder.Configuration.AddUserSecrets(
"codemaru-oauth-2ba4e1b2");
67 int serverPort =
GetInt(builder.Configuration,
"WeddingServer:Port", 5050);
68 bool listenAnyIp =
GetBool(builder.Configuration,
"WeddingServer:ListenAnyIp",
true);
69 bool useEmbeddedWebView =
GetBool(builder.Configuration,
"WeddingShell:UseEmbeddedWebView",
true);
76 AuthOptions authOptions =
77 builder.Configuration.GetSection(AuthOptions.SectionName).Get<AuthOptions>() ??
new AuthOptions();
79 builder.Configuration[$
"{AuthOptions.SectionName}:UsersDbPath"],
80 Path.Combine(AppContext.BaseDirectory,
"App_Data",
"codemaru.db"));
82 builder.Services.AddDreamineHybridWpf();
83 builder.Services.AddDreamineIdentityWpfHost();
87 builder.Services.AddSingleton(weddingOpts);
101 builder.Services.AddDreamineBlazorServer<AppShell>(options =>
103 options.Port = serverPort;
104 options.ListenAnyIp = listenAnyIp;
105 options.UseEmbeddedWebView = useEmbeddedWebView;
118 options.AddPhysicalStaticFiles(weddingOpts.ResolvedDataPath,
"/wedding-data");
124 options.ConfigureServices = services =>
126 services.AddServerSideBlazor()
129 o.MaximumReceiveMessageSize =
null;
130 o.ClientTimeoutInterval = TimeSpan.FromMinutes(10);
131 o.HandshakeTimeout = TimeSpan.FromMinutes(2);
132 o.KeepAliveInterval = TimeSpan.FromSeconds(10);
133 o.EnableDetailedErrors =
false;
139 services.AddAntiforgery(o =>
141 o.Cookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.Lax;
142 o.Cookie.SecurePolicy = Microsoft.AspNetCore.Http.CookieSecurePolicy.SameAsRequest;
146 services.Configure<CircuitOptions>(o =>
148 o.DisconnectedCircuitMaxRetained = 100;
149 o.DisconnectedCircuitRetentionPeriod = TimeSpan.FromMinutes(3);
150 o.JSInteropDefaultCallTimeout = TimeSpan.FromMinutes(1);
151 o.MaxBufferedUnacknowledgedRenderBatches = 10;
157 options.AddDreamineIdentity(authOptions, usersDbPath);
161 var wwwroot = Path.Combine(AppContext.BaseDirectory,
"wwwroot");
164 builder.Build().RunDreamineWpfApp<
App>();