我正在c#.NET Framework 4.6.1中创建WebAPI。
我采取了一个空模板,添加了一个控制器。
public class InfoController : ApiController
{
public bool LaunchNotePad()
{
AppServices as = new AppServices();
bool result = as.LaunchNotePad();
return result;
}
}
在相同的解决方案中,我有一个类库,其中包含一些如下所示的方法。
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
,
我希望这实际上可以打开服务器中的记事本并返回true,但事实并非如此。而是显示了这样的错误:
<Error>
<Message>
The requested resource does not support http method 'GET'.
</Message>
</Error>
简而言之,我想从API调用一个类库,该类库可以访问服务器上的exe文件。在此示例中,我以记事本为示例,但实际上它是我们创建的一个exe。因此,每次发送请求时,它都必须在托管它的服务器中打开记事本。
我想知道这是否可能,如果可以的话。我想念的是什么
非常感谢您的帮助。
添加了图片以显示我要实现的目标(如果有帮助的话)。
答案 0 :(得分:0)
由于这是一个API控制器,因此默认情况下将支持GET,POST,PUT,DELETE方法。将[HttpGet]属性添加到LaunchNotePad方法中,或将方法的名称更改为GetLaunchNotePad。