从ASP.NET应用程序启动浏览器需要管理员?

mwg9r5ms  于 2023-11-20  发布在  .NET
关注(0)|答案(1)|浏览(106)

当我的ASP.NET最小API应用程序启动时,我试图启动一个网页(我的应用程序的静态主机URL)。
我试过几种方法来做这件事。

方法一

Program.cs中:

await app.StartAsync();

string urlToOpen = "http://localhost:" + builder.Configuration.GetSection("HostPort").Value + "/index.html";
Process.Start(new ProcessStartInfo(urlToOpen) { UseShellExecute = true });

await app.WaitForShutdownAsync();

字符串
在VS中调试时,或者在构建后运行.exe时,这不起作用。但是,在以管理员身份运行构建的.exe后,它确实起作用。

方法二

Program.cs中:

await app.StartAsync();

string urlToOpen = "http://localhost:" + builder.Configuration.GetSection("HostPort").Value + "/index.html";
System.Diagnostics.Process.Start("cmd", "/C start" + " " + urlToOpen);

await app.WaitForShutdownAsync();


(改为通过cmd打开)
同样,这仅在以管理员身份运行构建的.exe时有效。
我的问题是,如何在不以管理员身份运行构建的.exe的情况下使其工作?

cu6pst1q

cu6pst1q1#

我设法让它工作,我认为问题是目录权限或类似的东西(在原始构建目录中运行应用程序时,我一直收到smartscreen警告)。我将项目保存在C:\Users\User\source\repos中。我将构建的文件复制到不同的目录中(例如桌面),应用程序现在打开浏览器,而不需要以管理员身份运行(智能屏幕警告也消失了,不确定是否相关)。

相关问题