需要了解Orchard CMS 2.0 / OrchardCore流程

时间:2017-09-15 17:35:58

标签: c# .net asp.net-core orchardcms

我试图在第一次运行Orchard CMS 2.0代码流时,即在任何UI呈现之前或用户选择了任何配方之前了解它。这是我目前所知道的:

  1. 执行从Orchard.Cms.Web,Program.cs,Main方法开始。
  2. Asp.NET核心框架调用Startup类的构造函数。
  3. ConfigureServices方法由Asp.NET核心框架调用。这为IServiceCollection添加了各种服务。
  4. 然后配置了一些服务。例如调用AddManifestDefinition方法。此时我们得到以下弹出窗口。我们得到这样一个弹出多个项目。 我不知道为什么?
  5. Source File Changed Popup

    1. 在某些时候添加/配置所有服务,Asp.NET框架在Startup类中调用Configure方法。
    2. 最后一行是app.UseModules()。这指示代码使用中间件类ModularTenantContainerMiddleware和ModularTenantRouterMiddleware。
    3. 然后控制转到ModularTenantRouterMiddleware中的第3个私有变量。
    4. Code Flow

      这在许多方面令人困惑。

      1. 谁叫这个班级?在这个阶段似乎没有代码调用它。
      2. 如果Asp.NET核心框架调用它,那么为什么不首先调用ModularTenantContainerMiddleware类。那是在课程开始之前。
      3. 为什么控件不会出现在其他私有变量
      4. 然后使用指向名为b__16_0的方法的下一个参数调用构造函数。 下一个变量是如何指向此方法的?这个方法究竟在哪里?
      5. 然后控制转到下面突出显示的行。
        • 谁打电话给这个,为什么要转到第二行而不是第一行呢?
        • 然后调用ShellSettingsConfigurationProvider,然后调用ShellSettingsManager。然后是ExtensionExpanderOptionsSetup,然后是ManifestOptionsSetup,然后是ManifestProvider,然后是FeaturesProvider,然后是ExtensionProvider ......然后是AmbientExtensionLoader,然后是TypeFeatureProvider。 如何调用所有这些类别。谁在打电话给他们?我没有看到任何这些电话。如果Asp.NET核心框架正在调用它们,那么如何确定它们的顺序?
      6. Code Flow 2

0 个答案:

没有答案