VS2022.NET6.0创建WPF结合Webapi自托管教程

5星 · 超过95%的资源 需积分: 5 9 下载量 175 浏览量 更新于2024-08-03 收藏 959KB DOCX 举报
"这篇教程介绍了如何在Visual Studio 2022(VS2022)中使用.NET 6.0框架创建一个Windows Presentation Foundation(WPF)应用程序,并且在这个应用中集成Web API服务实现自托管。" 在VS2022中创建WPF项目: 1. 打开Visual Studio 2022,点击“创建新项目”。 2. 在项目模板列表中,选择“Windows”类别,然后找到并选择“WPF 应用(.NET)”。 3. 设置项目路径和名称,确保选择.NET 6.0作为目标框架。 4. 点击“创建”,VS2022将生成一个新的WPF项目。 添加必要的包: 为了实现Web API功能,需要安装`Swashbuckle.AspNetCore`包,它是一个用于生成Swagger文档的工具,方便API的测试和文档化。可以通过NuGet包管理器进行安装。 构建WPF用户界面: 1. 在XAML文件中,可以看到一个Grid布局,包含三个行定义,用于放置三个StackPanel,每个StackPanel包含一个Button,分别用于启动、停止服务以及发送请求。 2. 还有一个TextBox用于显示API响应的结果。 编写代码逻辑: 1. 创建或编辑`MainWindow.xaml.cs`,为按钮添加事件处理程序,如`btn_StartService_Click`,`btn_StopService_Click`和`btn_Request_Click`。 2. 在`btn_StartService_Click`事件中,编写启动Web API服务的代码,这通常涉及到IWebHostBuilder的使用,创建并启动Web服务器监听指定端口(例如3000)。 3. `btn_StopService_Click`事件处理程序将用于停止Web API服务。 4. `btn_Request_Click`事件处理程序将调用API并显示响应结果在TextBox中。 创建Web API控制器: 1. 在项目中添加一个名为“Controllers”的文件夹,用于存放控制器类。 2. 在“Controllers”文件夹中,新建一个C#类,例如命名为`MyApiController`,确保它继承自`ControllerBase`。 3. 在这个控制器类中,定义API接口,例如一个名为`IndexRecommend`的方法,可以使用`[HttpGet]`属性来标记这是一个HTTP GET请求。 运行和测试API: 1. 当启动服务按钮被点击时,Web API服务会开始运行,可以通过在浏览器中输入`http://127.0.0.1:3000/Index/IndexRecommend`来访问API。 2. 使用Postman等工具,可以发送HTTP请求到同一地址,验证API是否正常工作并返回预期数据。 另一种API启动方式: 除了在按钮点击事件中启动服务,还可以考虑使用后台线程或者服务模型来自动启动Web API,确保即使主应用窗口关闭,API服务仍然运行。具体实现代码可能涉及异步方法和任务调度,以确保服务的稳定运行。 通过这个教程,开发者可以学习到如何将Web API服务整合进WPF应用,提供自托管的功能,这对于开发桌面应用同时需要提供RESTful API的场景非常有用。