我对ASP.NET还是很陌生,并且在这个问题上停留了很长时间。 我有一个目前可以使用的WPF应用程序(.NET Framework)。这是一个用于控制某些外部设备(机器人)的程序。我在Visual Studio 2017中将WPF应用程序的C#项目作为可编辑项目。
我想做的是使用该程序(WPF App)来部署Web API服务,并通过Web API在WPF App中使用功能,例如,我有命令localhost:XXXX/api/moveforward
使按钮中的机器人向前移动在WPF应用中,我想提供一个调用A.FORWARD
的Web API服务来调用该命令(Application_Start()
)。
首先,我尝试使用.NET Framework 4.6.1创建Web API服务,并将用于控制机器人的代码和依赖项从WPF App复制到其中。但是在部署了Web API之后,我发现Web API无法访问外部设备(机器人)。
然后,我尝试将所有用于部署API服务的代码复制到WPF应用程序。但是我发现API服务无法运行(Global.asax.cs
中的Global.asax.cs
),并且我不能强迫它运行。
要强制WPF应用运行API,我复制了所有需要的文件,尤其是public void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
来运行包含此文件的API
MainWindow.xaml.cs
...,然后单击public void ButtonEmotion_Click(object sender, RoutedEventArgs e)
{
new Global().Application_Start();
}
中的某个按钮将其添加到通话中。
{{1}}
这些努力说:
抛出异常:“ System.InvalidOperationException” System.Web.dll类型的未处理异常 System.Web.dll中出现“ System.InvalidOperationException”
在应用程序的预启动过程中无法调用该方法 初始化阶段。