当前位置: 首页 > news >正文

网站做快照怎么做网站群建设 会议 主持

网站做快照怎么做,网站群建设 会议 主持,深圳网络建设有限公司,网站怎么做404页面的跳转点击上方蓝字关注“汪宇杰博客”导语曾经#xff0c;我们要在应用程序里做功能开关#xff0c;就避免不了在配置文件里加上一堆 bool 类型的配置项#xff0c;然后在代码里用 if else 去判断。尽管这种做法是可行的#xff0c;但我们现在有办法让代码更加整洁#xff0c;避… 点击上方蓝字关注“汪宇杰博客”导语曾经我们要在应用程序里做功能开关就避免不了在配置文件里加上一堆 bool 类型的配置项然后在代码里用 if else 去判断。尽管这种做法是可行的但我们现在有办法让代码更加整洁避免成堆的 if else 出现。.NET 功能管理库微软为了解决常见的功能开关问题场景推出了 .NET Core Feature Management 库。它由 Azure 团队发布并属于 Azure 文档的一部分但我发现就算在没有 Azure 环境的情况下它依然可以正常全功能运行Azure 在此的作用仅仅是用 Azure App Configuration 作为功能开关的数据源而我们完全可以用本地的 appsettings.json 来替代避免了购买 Azure 从而落魄街头的风险。安装功能管理库以我的博客系统为例我的应用是 ASP.NET MVC / Web API类型的我需要添加的包为 Microsoft.FeatureManagement.AspNetCore。如果你的应用并非ASP.NET可以只添加 Microsoft.FeatureManagementPackageReference IncludeMicrosoft.FeatureManagement Version2.2.0 /然后注册到 DI 里去using Microsoft.FeatureManagement;public class Startup{    public void ConfigureServices(IServiceCollection services)    {        services.AddFeatureManagement();    }}添加功能开关配置项以我的博客系统为例原先我在 AppSettings p 中有两个bool类型的配置项现在就可以迁移到名为 FeatureManagement 的新 p 里。相对应的在 C# 代码里去掉原来的项添加一个新的枚举类型值的名称对应配置项的名称。这个枚举类型不是必须的但非常建议创建枚举这是为了保证在使用功能开关的时候有强类型支持避免用string导致哪里名字没改对造成996。使用功能开关我们只需从DI里拿到 IFeatureManager 的实例即可判断功能开关是否打开。例如IFeatureManager featureManager;...if (await featureManager.IsEnabledAsync(nameof(MyFeatureFlags.FeatureA))){    // 执行代码}在 ASP.NET 项目里最方便的就是通过构造函数获取 IFeatureManager 的实例public class HomeController : Controller{    private readonly IFeatureManager _featureManager;    public HomeController(IFeatureManager featureManager)    {        _featureManager featureManager;    }}那么问题来了说好的少写 if else 呢这个 IsEnabledAsync 不还是得写 if其实 Microsoft.FeatureManagement.AspNetCore 这个包包括了 MVC / Web API 项目所需要用到的许多助手功能。可以让我们避免大量的 if else。在 Controller 级别添加功能开关还是以我博客系统为例我的 GraphController 只有在 EnableWebApi 开关打开的时候才响应用户请求那么本来的 if else 判断现在就可以[FeatureGate(FeatureFlags.EnableWebApi)]// ... public class GraphController : ControllerBase {// ...}是不是很爽在 Action 级别添加功能开关[FeatureGate(FeatureFlags.EnableAudit)]public async TaskIActionResult ClearAuditLogs(){    // ...}在 View 上添加功能开关先在 _ViewImports.cshtml 中添加 taghelper 声明。addTagHelper *, Microsoft.FeatureManagement.AspNetCore然后就可以用 feature 标签选择性的渲染 HTML 内容了feature nameFeatureA    pThis can only be seen if FeatureA is enabled./p/feature对于feature关闭才显示的内容加个 negate 就好了feature nameFeatureA negatetrue    pThis will be shown if FeatureA is disabled./p/feature还可用  All, Any 属性控制多个功能开关的显示处理。All 表示列出的功能得全启用才执行Any 表示列出的功能里任意一个为 true 就可以执行。feature nameFeatureA, FeatureB requirementAll    pThis can only be seen if FeatureA and FeatureB are enabled./p/featurefeature nameFeatureA, FeatureB requirementAny    pThis can be seen if FeatureA, FeatureB, or both are enabled./p/feature根据功能开关添加 Filter使用 AddForFeature() 拓展方法using Microsoft.FeatureManagement.FeatureFilters;IConfiguration Configuration { get; set;}public void ConfigureServices(IServiceCollection services){    services.AddMvc(options {        options.Filters.AddForFeatureSomeMvcFilter(nameof(MyFeatureFlags.FeatureA));    });}根据功能开关添加 Middlewareapp.UseMiddlewareForFeatureThirdPartyMiddleware(nameof(MyFeatureFlags.FeatureA));或者app.UseForFeature(featureName, appBuilder {    appBuilder.UseMiddlewareT();});小提示功能开关的配置值更改无需重启应用程序修改配置文件后可以热更新立即生效另外如果你足够有钱也推荐试试 Azure App Configuration将你的应用功能开关放在云端统一管理可以非常方便的针对用户群体配置 A/B蓝绿测试哦参考文档https://docs.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core?WT.mc_idAZ-MVP-5002809汪宇杰博客Azure | .NET | 微软 MVP无广告不卖课做纯粹的技术公众号喜欢本篇内容请点个在看
http://www.yutouwan.com/news/464177/

相关文章:

  • jsp网站开发与设计摘要wordpress中的邮箱
  • 黑龙江建筑职业技术学院招生网站php做网站 价格
  • 找建设网站公司哪家好平面设计行业市场分析
  • 公司网页网站建设ppt模板做影视剧组演员垂直平台网站
  • 国外 创意 网站中山大学精品课程网站
  • 湖北建设部网站官网国内最好的编程培训学校
  • 网站的现状网站建设有哪些工作室
  • 免费学软件的自学网站关于手表网站建设策划书
  • 与网站建立的链接不安全怎么办农村电商发展现状分析
  • 网站qq安全认证网站开发学习
  • 简单的网站怎样做山东seo网络推广
  • 做外国订单有什么网站网站建设和推广的完整话术
  • 成都网站制作scgc学专科电子商务后悔死了
  • 一个主机建多少个网站佛山出格建站
  • 好听的个人网站名称中国建设学会网站
  • 肯德基网站建设的目标建筑模板915 1830重量
  • 网站外包 多少钱运行时间 wordpress
  • 俄语学习网站迪奥网络营销方式
  • 网站策划技巧wordpress首页漂浮
  • 建站技术有哪些公司注册资本登记管理规定
  • 肥城市网站建设广西钦州有做网站的公司吗
  • 网络营销网站类型制作灯笼的做法
  • 信息时代网站建设的重要性永顺网站建设
  • asp网站建设 win7科技公司很多都是骗子公司吗
  • 高端企业门户网站建设费用平面设计师网站都有哪些
  • 网站版块设计马鞍山网站建设电话
  • 如何创建网站名称成都知名网站建设
  • 建网站有哪些文件夹博罗做网站哪家强
  • 葫芦岛住房和城乡建设厅网站黄山学院教务管理系统
  • 百度推广管理系统搜索引擎营销优化