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

黑群辉建设个人网站wordpress中对视频排序

黑群辉建设个人网站,wordpress中对视频排序,猪价大涨已成定局,wordpress模版丢失Xunit.DependencyInjection 7.0 发布了Intro上次我们已经介绍过一次大师的 Xunit.DependencyInjection 在 Xunit 中使用依赖注入 #xff0c;最近大师完成了 7.0 的重构并且已经正式发布#xff0c;已经可以直接安装使用了7.0 为我们带来了更好的编程体验#xff0c;在 6.x… Xunit.DependencyInjection 7.0 发布了Intro上次我们已经介绍过一次大师的 Xunit.DependencyInjection  在 Xunit 中使用依赖注入 最近大师完成了 7.0 的重构并且已经正式发布已经可以直接安装使用了7.0 为我们带来了更好的编程体验在 6.x 的版本中我们的 Startup 需要继承于 DependencyInjectionTestFramework 而且需要设置一个 assembly attribute这在 7.0 中都不需要了下面我们来看看有了哪些变化Startup 的变化首先来看下大师给出的 diff -[assembly: TestFramework(Your.Test.Project.Startup, Your.Test.Project)]namespace Your.Test.Project { -   public class Startup : DependencyInjectionTestFrameworkpublic class Startup{ -       public Startup(IMessageSink messageSink) : base(messageSink) { }-       protected void ConfigureServices(IServiceCollection services)public void ConfigureServices(IServiceCollection services){services.AddTransientIDependency, DependencyClass();}-       protected override IHostBuilder CreateHostBuilder()  -           base.CreateHostBuilder(assemblyName) -               .ConfigureServices(ConfigureServices);-       protected override void Configure(IServiceProvider provider)public void Configure(IServiceProvider provider)} } 移除了 TestFramework assembly attribute不再需要继承于 DependencyInjectionTestFramework也因为上面的不需要继承所以原本要 override 的方法可以不 override 了原来是 protected 的方法现在需要改成 public新的 Startup 解析我把上一篇文章写的示例用升级到了新的版本下面是更新后的示例代码namespace XUnitDependencyInjectionSample {public class Startup{// 自定义 HostBuilder 可以没有这个方法没有这个方法会使用默认的 hostBuilder通常直接使用 ConfigureHost 应该就够用了// public IHostBuilder CreateHostBuilder()// {//     return new HostBuilder()//         .ConfigureAppConfiguration(builder //         {//             // 注册配置//             builder//                 .AddInMemoryCollection(new Dictionarystring, string()//                 {//                     {UserName, Alice}//                 })//                 .AddJsonFile(appsettings.json)//                 ;//         })//         .ConfigureServices((context, services) //         {//             // 注册自定义服务//             services.AddSingletonIIdGenerator, GuidIdGenerator();//             if (context.Configuration.GetAppSettingbool(XxxEnabled))//             {//                 services.AddSingletonIUserIdProvider, EnvironmentUserIdProvider();//             }//         })//         ;// }// 自定义 host 构建public void ConfigureHost(IHostBuilder hostBuilder){hostBuilder.ConfigureAppConfiguration(builder {// 注册配置builder.AddInMemoryCollection(new Dictionarystring, string(){{UserName, Alice}}).AddJsonFile(appsettings.json);}).ConfigureServices((context, services) {// 注册自定义服务services.AddSingletonIIdGenerator, GuidIdGenerator();if (context.Configuration.GetAppSettingbool(XxxEnabled)){services.AddSingletonIUserIdProvider, EnvironmentUserIdProvider();}});}// 支持的形式// ConfigureServices(IServiceCollection services)// ConfigureServices(IServiceCollection services, HostBuilderContext hostBuilderContext)// ConfigureServices(HostBuilderContext hostBuilderContext, IServiceCollection services)public void ConfigureServices(IServiceCollection services, HostBuilderContext hostBuilderContext){services.TryAddSingletonCustomService();}// 可以添加要用到的方法参数会自动从注册的服务中获取服务实例类似于 asp.net core 里 Configure 方法public void Configure(IServiceProvider applicationServices, IIdGenerator idGenerator){// 有一些测试数据要初始化可以放在这里// InitData();}} } 在新的版本中 Startup 和 asp.net core 里的 Startup 更加相像了会多一个 CreateHostBuilder/ConfigureHost(IHostBuilder) 的方法允许用户自定义 Host 的构建也可以没有这个方法ConfigureServices 方法允许用户增加 HostBuilderContext 作为参数可以通过 hostBuilderContext 来获取配置信息也可以在 CreateHostBuilder/ConfigureHost(IHostBuilder) 里注册也是一样的注册配置/服务和 asp.net core 里一模一样有数据或配置需要在项目启动时初始化的可以放在 Configure  方法做有点类似于 asp.net core 里 Startup 中的 Configure 方法可以将需要的服务作为方法参数执行时会自动从注册的服务中获取Startup 的寻找方法默认的 Startup 通常是 ProjectName.Startup通常在项目根目录下创建一个 Startup 是不需要配置的如果不是或不起作用可以参考下面 Startup 的寻找规则如果要使用一个特别的 Startup, 你可以通过在项目文件的 PropertyGroup 部分定义 XunitStartupAssembly 和 XunitStartupFullName具体规则如下ProjectPropertyGroupXunitStartupAssemblyAbc/XunitStartupAssemblyXunitStartupFullNameXyz/XunitStartupFullName/PropertyGroup /Project XunitStartupAssemblyXunitStartupFullNameStartupYour.Test.Project.Startup, Your.Test.ProjectAbcAbc.Startup, AbcXyzXyz, Your.Test.ProjectAbcXyzXyz, AbcMore除了上面的 Startup 的改动之外新版本还支持了 xunit 中 fixture 的依赖注入似乎是由一个外国小哥提的 PR, 详见https://github.com/pengweiqhca/Xunit.DependencyInjection/pull/21有了这个神器在测试代码中使用依赖注入要方便很多了还没有用起来的可以准备上手了~~Referencehttps://github.com/pengweiqhca/Xunit.DependencyInjectionhttps://github.com/WeihanLi/SamplesInPractice/tree/master/XUnitDependencyInjectionSample
http://www.yutouwan.com/news/31354/

相关文章:

  • 做一家网站费用吗发布网站需要多大空间
  • 网站的后期维护自己怎么做wordpress如何卸载主题
  • 描述网页设计流程做了个网站 怎么做seo
  • 登封 网站建设莱芜口镇
  • 黄冈网站制作公司腾讯云服务器10元一年
  • 网站跟域名备案数量网站建设吴中区
  • 福永网站建设多少钱长春网站公司
  • 青岛网站建设康之迅歌曲做网站背景音乐 侵权
  • 深圳房管局官网查询系统外贸网站如何seo推广
  • asia域名的网站建一个视频网站要多少钱
  • 网站视频是什么软件做的wordpress密码注册
  • 江门官网建站公司中文图片转wordpress
  • 网站速度优化方案旅游网站的系统建设的意义
  • 广州建站优化做现金贷的网站有哪些
  • 甘肃系统建站怎么用动画设计素材
  • 网站建设与管理 第2版wordpress淘宝客网站运营
  • 北京网站建设 招聘信息河南省建设监理协会官网
  • 怎么用APdiv做网站导航栏网站开发用户自定义排序方案
  • 网站升级维护期间能访问吗wordpress 微博】
  • 山东省城乡住房和城乡建设厅网站疏肝益阳胶囊有哪些功效与作用
  • 上海免费模板建站山东省工程建设协会网站
  • 有没有专门做老年婚介的网站哈尔滨建筑工程招聘信息
  • 购物类网站开发中国国家人才培训网官网
  • 网站开发流程百度文库wordpress网站数量管理插件
  • 网站关键词排名没有了商务软文写作
  • 杭州哪里找网站建设的兼职襄阳住房和城乡建设局网站首页
  • 重庆做腋臭骑士网站百度域名是什么
  • wordpress 注册 填写密码错误沈阳seo自然优化排名
  • 网站中图片怎么做的连云港做网站公司哪家好
  • wordpress网站设置关键词网站专题页设计