NET Core Web API中使用 Polly 构建弹性容错的微服务 在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务 (3)

NET Core Web API中使用 Polly 构建弹性容错的微服务
在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务

创建项目后,默认的 WeatherForecast 控制器已被删除,因为演示不需要它。

添加客户控制器

我们需要添加一个 Customer 控制器,该控制器将有一个 get 操作方法,该方法根据输入的客户代码返回客户名称。我们将添加 Controllers\CustomerController.cs 如下所示

[Route("api/[controller]")] [ApiController] public class CustomerController : ControllerBase { private Dictionary<int, string> _customerNameDict = null; public CustomerController() { if(_customerNameDict == null) { _customerNameDict = new Dictionary<int, string>(); _customerNameDict.Add(1, "Pro Code Guide"); _customerNameDict.Add(2, "Support - Pro Code Guide"); _customerNameDict.Add(3, "Sanjay"); _customerNameDict.Add(4, "Sanjay - Pro Code Guide"); } } [HttpGet] [Route("GetCustomerName/{customerCode}")] public ActionResult<string> GetCustomerName(int customerCode) { if (_customerNameDict != null && _customerNameDict.ContainsKey(customerCode)) { return _customerNameDict[customerCode]; } return "Customer Not Found"; } }

出于演示目的,我在控制器本身中硬编码了客户代码和名称列表,但理想情况下,这些数据应该来自使用实体框架的数据库。

运行并测试客户服务

从 Visual Studio 构建和运行应用程序后,您应该会从 swagger (OpenAPI) 看到以下屏幕。

NET Core Web API中使用 Polly 构建弹性容错的微服务
在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务

在执行获取操作 /api/Customer/GetCustomerName/2 时,您应该从操作方法中获得以下响应。

![运行 ASP.NET Core Web API 项目操作方法](/Users/zouding/文档/blog/文章/如何使用polly/

NET Core Web API中使用 Polly 构建弹性容错的微服务
在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务

)

创建订单服务

在同一个解决方案中创建 ASP.NET Core Web API 类型的第二个项目,名称为 ProCodeGuide.Polly.Order

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxzzp.html