asp.net - 从 wep api 启动 ac# 程序失败
问题描述
我正在尝试从 wep api 启动 ac# 程序。当我在 Visual Studio 开发下尝试这个时,它会运行。在 IIS 上发布后,程序无法启动。我没有收到任何错误,它永远不会在 catch 块中运行。为什么“process.Start”不起作用?
public class ServerController : ApiController
{
[ActionName("starthilfe")]
public Info GetHelp()
{
Info inf = new Info();
try
{
Process P = new Process();
P.StartInfo.FileName = @"D:\Videos\Deutsch\WindowsFormsApp1.exe";
P.Start();
inf.TextFeld1 = "Hilfe erfolgreich gestartet";
return inf;
}
catch (Exception ex)
{
inf.TextFeld1 = "EXEPTION";
inf.TextFeld2 = ex.Message;
return inf;
}
}
}
解决方案
首先,我会检查您在运行应用程序的服务器上遇到了哪些权限问题。其次,我认为您的问题的核心是,当您在调试模式下运行 Web 应用程序时,您正在运行。但是当您发布到 IIS 时,您最有可能以 IUser 身份运行。IIs 网站的特殊用户。这篇堆栈溢出文章可以帮助您弄清楚您的 IUser 拥有哪些权限。解决方法是为应用程序创建另一个用户,该用户具有比 IUser 更多的权限。只是提醒更改您的 Web 应用程序使用的用户可能会产生安全隐患。所以你应该小心
推荐阅读
- javascript - 如何为 Adobe PDF Embed API 自动生成 ClientID
- json - 使用 bash 循环遍历 JSON 数据以检查值
- java - 如何测试来自客户端的传入请求并发送回响应?
- email - Keycloak - 访问电子邮件模板中的上下文变量
- javascript - 在maplibre GL中的地图鼠标悬停上添加图像
- javascript - ReactJS 模板不能使用 CSS 样式表
- python - 无法使用 Python ftplib 连接到服务器,但 PuTTY Plink 可以工作
- wordpress - 如何减少我的 Wordpress 网站中的图像文件数量
- c# - 如何修复当前上下文中不存在 backgroundWorker1.RunWorkerAsync()
- angular - 错误:预期“”等于未定义的茉莉花单元测试