如何使用 WebAPI 和 class 库打开 exe

How to open exe using WebAPI and class library

我正在使用 c# .NET Framework 4.6.1 创建 WebAPI。我拿了一个空模板,添加了一个控制器:

 public class InfoController : ApiController
{
    public bool LaunchNotePad()
    {
        AppServices as = new AppServices();
        bool result = as.LaunchNotePad();
        return result;
    }
    
}

我在同一个解决方案中有一个 class 库,它有如下一些方法:

public class AppServices
    {
        System.Diagnostics.Process.Start();
        public bool LaunchApplication()
        {
            bool result = false;
            Process.Start("notepad.exe", "SomeName");
            return true;

        }
    }

在我的 WebApiConfig.cs:

config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );  

当我托管这个和 运行 URL http://IPAddress/api/Info/LaunchNotePad 时,我希望它能实际打开服务器中的记事本并且 return 是的,但它没有吨。相反,它显示了这样的错误:

<Error>
<Message>
The requested resource does not support http method 'GET'.
</Message>
</Error>

简而言之,我想从 API 调用一个 class 库,它可以访问服务器上的 exe 文件。在此示例中,我将记事本作为示例显示,但实际上它是我们创建的一个 exe。所以每次我发送请求,它都必须在它托管的服务器中打开记事本。

这可能吗?我错过了什么?

我添加了一张图片来展示我想要实现的目标:

由于这是一个 API 控制器,它将默认支持方法 GET、POST、PUT、DELETE。将 [HttpGet] 属性添加到您的 LaunchNotePad 方法或将您的方法名称更改为 GetLaunchNotePad。