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

有没有专门做航拍婚礼网站wordpress后台经常504

有没有专门做航拍婚礼网站,wordpress后台经常504,网站建设外包费用,wordpress打开速度很慢开发.NET Core应用#xff0c;直接映入眼帘的就是Startup类和Program类#xff0c;它们是.NET Core应用程序的起点。通过使用Startup#xff0c;可以配置化处理所有向应用程序所做的请求的管道#xff0c;同时也可以减少.NET应用程序对单一服务器的依赖性#xff0c;使我们… 开发.NET Core应用直接映入眼帘的就是Startup类和Program类它们是.NET Core应用程序的起点。通过使用Startup可以配置化处理所有向应用程序所做的请求的管道同时也可以减少.NET应用程序对单一服务器的依赖性使我们在更大程度上专注于面向多服务器为中心的开发模式。目录Startup讨论Starup所承担的角色Startup编写规范ConfigureServicesConfigure扩展Startup方法深入源码查看Startup是如何注册和执行的UseStartup源码创建Startup实例ConfigureServices和ConfigureStarup所承担的角色Startup作为一个概念是ASP.NET Core程序中所必须的Startup类本身可以使用多种修饰符(public、protectprivate、internal)作为ASP.NET Core应用程序的入口它包含与应用程序相关配置的功能或者说是接口。虽然在程序里我们使用的类名就是Startup但是需要注意的是Startup是一个抽象概念你完全可以名称成其他的比如MyAppStartup或者其他的什么名称只要你在Program类中启动你所定义的启动类即可。当然如果不想写Startup可以在Program类中配置服务和请求处理管道请参见评论区5楼非常感谢Emrys耐心而又全面的指正。以下是基于ASP.NET Core Preview 3模板中提供的写法不管你命名成什么只要将webBuilder.UseStartup()中的泛型类配置成你定义的入口类即可;Startup编写规范下面是ASP.NET Core 3.0 Preview 3模板中Startup的写法 通过以上代码可以知道Startup类中一般包括构造函数通过我们以前的开发经验我们可以知道该构造方法可以包括多个对象IConfiguration表示一组键/值应用程序配置属性。IApplicationBuilder是一个包含与当前环境相关的属性和方法的接口。它用于获取应用程序中的环境变量。IHostingEnvironment是一个包含与运行应用程序的Web宿主环境相关信息的接口。使用这个接口方法我们可以改变应用程序的行为。ILoggerFactory是为ASP.NET Core中的日志记录系统提供配置的接口。它还创建日志系统的实例。ConfigureServicesConfigureStartup在创建服务时会执行依赖项注册服务以便在应用程序的其它地方使用这些依赖项。ConfigureServices 用于注册服务Configure 方法允许我们向HTTP管道添加中间件和服务。这就是ConfigureServices先于Configure 之前调用的原因。ConfigureServices该方法时可选的非强制约束它主要用于对依赖注入或ApplicationServices在整个应用中的支持该方法必须是public的其典型模式是调用所有 Add{Service} 方法主要场景包括实体框架、认证和 MVC 注册服务Configure该方法主要用于定义应用程序对每个HTTP请求的响应方式即我们可以控制ASP.NET管道还可用于在HTTP管道中配置中间件。请求管道中的每个中间件组件负责调用管道中的下一个组件或在适当情况下使链发生短路。 如果中间件链中未发生短路则每个中间件都有第二次机会在将请求发送到客户端前处理该请求。该方法接受IApplicationBuilder作为参数同时还可以接收其他一些可选参数如IHostingEnvironment和ILoggerFactory。一般而言只要将服务注册到configureServices方法中时都可以在该方法中使用。 扩展Startup方法使用IStartupFilter来对Startup功能进行扩展在应用的Configure中间件管道的开头或末尾使用IStartupFilter来配置中间件。IStartupFilter有助于确保当库在应用请求处理管道的开端或末尾添加中间件的前后运行中间件。以下是IStartupFilter的源代码通过源代码我们可以知道该接口有一个ActionIApplicationBuilder类型并命名为Configure的方法。由于传入参数类型和返回类型一样这就保证了扩展的传递性及顺序性具体的演示代码可以参数MSDN  此段文字只是我想深入了解其内部机制而写的如果本身也不了解其实是不影响我们正常编写.NET Core应用的。UseStartup源码ASP.NET Core通过调用IWebHostBuilder.UseStartup方法传入Startup类型注意开篇就已经说过Startup是一个抽象概念我们看下源代码  创建Startup实例 关于ConfigureServices的定义及注册方式是在IWebHostBuilder.ConfigureServices实现的同时可以注意一下25行代码向大家说明了多次注册Startup的ConfigureServices方法时会合并起来的根源。此处抽象委托用的也非常多。该类里面还有Build方法我就不贴出代码了只需要知道主进程在此处开始了。接下来一个比较重要的方法是BuildCommonServices它向当前ServiceCollection中添加一些公共框架级服务以下是部分代码具体代码请查看WebHostBuilder。   由此可见如果我们的Startup类直接实现IStartup它可以并且将直接注册为IStartup的实现类型。只不过ASP.NET Core模板代码并没有实现IStartup它更多的是一种约定并通过DI调用委托依此调用Startup内的构造函数还有另外两个方法。同时上述代码还展示了如何创建Startup类型就是用到了静态方法StartupLoader.LoadMethods类生成StartupMethods实例。ConfigureServices和Configure当WebHost初始化时框架会去查找相应的方法这里我们主要查看源代码其中的核心方法是StartupLoader.FindMethods 它查找的第一个委托是ConfigureDelegate该委托将用于构建应用程序的中间件管道。FindMethod完成了大部分工作具体的代码请查看StartupLoader。此方法根据传递给它的methodName参数在Startup类中查找响应的方法。我们知道Startup的定义更多的是约定所以会去查找Configure和ConfigureServices。当然通过源代码我还知道除了提供标准的“Configure”方法之外我们还可以通过环境配置找到响应的Configure和ConfigureServices。根本来说我们最终查找到的是ConfigureContainerDelegate。接下来一个比较重要的方法是LoadMethods 该方法通过查找对应的方法由于Startup并未在DI中注册所以会调用GetServiceOrCreateInstance创建一个Startup实例此时构造函数也在此得到解析。通过一系列的调用最终到达了ConfigureServicesBuilder.Invoke里面。Invoke方法使用反射来获取和检查在Startup类上定义的ConfigureServices方法所需的参数。 最后我们来看一下ConfigureBuilder类它需要一个ActionIApplicationBuilder委托变量其中包含每个IStartupFilter的一组包装的Configure方法最后一个是Startup.Configure方法的委托。此时所调用的配置链首先命中的是AutoRequestServicesStartupFilter.Configure方法。并将该委托链作为下一个操作之后会调用ConventionBasedStartup.Configure方法。这将在其本地StartupMethods对象上调用ConfigureDelegate。 Startup.Configure方法会调用ServiceProvider所解析的相应的参数该方法还可以使用IApplicationBuilder将中间件添加到应用程序管道中。最终的RequestDelegate是从IApplicationBuilder构建并返回的至此WebHost初始化完成。原文地址https://www.cnblogs.com/edison0621/p/10743228.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/884064/

相关文章:

  • 淘宝客新增网站南宁百度seo优化
  • 建设厅网站合同备案在哪里网站备案本人承诺
  • 做方案的网站住房城乡建设部官网
  • 怎样在门户网站做 推广天水市建设银行官方网站
  • 温州建网站哪家强网站建设谈客户说什么
  • 网站的子域名怎么设置整站seo排名外包
  • 免费网站在哪下载苏州建设银行网站
  • 邹平 建设项目 网站公示怎样做网站卖自己的产品教程
  • 手机免费网站建设哪家公司好免费动态域名申请
  • 提升网站排名怎么提交自己的网站
  • cms网站开发phpwordpress有什么功能
  • 专业网站制作解决方案自己在家搭建服务器
  • 中小企业网站提供了什么英文营销网站建设
  • 玉环市建设工程检测中心网站网站建设服务的具体条件
  • 主机网站wampserver搭建网站
  • 建设银行网站点不进去深圳龙华区招聘网最新招聘信息
  • 网站建设公司现在还挣钱吗wordpress棋牌
  • 网站建设有什么技术自媒体平台哪个好
  • 可以建网站的软件南昌seo代理商
  • 手机网站建设宽度中小型企业网站模板
  • 网站开发需要的所有技术中信建设有限责任公司历任董事长
  • 安徽省建设干部学校网站首页做软件是什么工作
  • 图书馆网站设计方案安徽质量工程建设网站
  • 电子商务网站建设效果那个网站可以做链接
  • 怎样做投资与理财网站网页设计优秀案例分析
  • 网站制作需要学什么搜狗网页版入口
  • html源码网seo搜索优化工程师招聘
  • 做的网站在小窗口中怎么保持中间广东省公共资源交易中心地址
  • 合肥做网站汇站网织梦网站广告代码教程
  • 复兴专业做网站wordpress搬家502