c# - 我可以从 Visual C# 项目中的 WPF 应用程序部署 Web 服务 api 吗?
问题描述
我对 ASP.NET 很陌生,并且在这个问题上停留了很长时间。我有一个当前可用的 WPF 应用程序(.NET 框架)。这是一个用于控制某些外部设备(机器人)的程序。我在我的 Visual Studio 2017 中将该 WPF 应用程序的 C# 项目作为可编辑项目。
我想要做的是使用该程序(WPF App)部署Web API服务并从Web API使用WPF App中的功能,例如我有命令A.FORWARD
在WPF App的按钮中向前移动机器人,我想进行 Web API 服务调用localhost:XXXX/api/moveforward
以调用该命令 ( A.FORWARD
)。
首先,我尝试使用 .NET Framework 4.6.1 创建 Web API 服务,并将用于控制机器人的代码和依赖项从 WPF 应用程序复制到它。但是在部署 Web API 之后,我发现无法从 Web API 访问外部设备(机器人)。
其次,我尝试将用于部署 API 服务的所有代码复制到 WPF 应用程序。但我发现 API 服务不会运行(Application_Start()
in Global.asax.cs
),我不能强制它运行。
为了强制 WPF 应用程序运行 API,我复制了所有需要的文件,特别是Global.asax.cs
运行包含这个的 API
public void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
...然后我通过单击某个按钮将其添加到调用中MainWindow.xaml.cs
。
public void ButtonEmotion_Click(object sender, RoutedEventArgs e)
{
new Global().Application_Start();
}
这些努力说:
抛出异常:System.Web.dll 中的“System.InvalidOperationException” System.Web.dll 中发生“System.InvalidOperationException”类型的未处理异常
在应用程序的预启动初始化阶段无法调用此方法。
解决方案
推荐阅读
- html - 如何使用 CSS 自定义复选框?
- reactjs - ApolloProvider 客户端 - 如何从 React Class 组件访问?
- python - 如何强制python使用cmd而不是powershell执行命令
- swift - Swift 程序中的 Firebase 存储参考问题
- javascript - 难以将前端应用程序部署到谷歌应用程序引擎
- web-services - 为什么 webservice 在 Xamarin Forms 中抛出空指针
- angular - Angular - 使用现有的 ngForm 可选
- r - 将列转换为 gt 表对象中的摘要行
- vue.js - 无法使用 vuetify 的图标
- c++ - 与类型同名的变量放在函数、结构或类中时不会产生编译错误