-
-
Notifications
You must be signed in to change notification settings - Fork 739
Closed
Description
- Version: 9.31.2
- Target: Windows 10
I cannot get the RequestSingleInstanceLockAsync callback to work at all. I have tried several things and it just does not seem to get called.
I have set up a test to see if its firing. Basically, if a second instance is launched, I just want it to kill the first instance. It does not kill the app. In my actual app, I want it to restore the window if necessary and focus the window; that wouldn't work either. It seems the callback just isn't being called at all.
The lock is working, it won't launch the second instance. (Although it does launch the splash screen which is not very nice).
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseRequestLocalization(localizationOptions);
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
if (HybridSupport.IsElectronActive)
{
var task = Electron.App.RequestSingleInstanceLockAsync(MyCallback);
var hasLock = task.GetAwaiter().GetResult();
if (!hasLock)
{
Electron.App.Exit();
return;
}
// Normal browser window setup, etc.
}
}
public void MyCallback(string[] args, string directory)
{
Electron.App.Exit(); // !!! This is never executed.
}
Any idea what is going on here? Or am I using this incorrectly?