_Samples/Example_BootStrapper.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data;
using System.Data.Common;

//<doc:using>
using ComLib;
using ComLib.BootStrapSupport;
//</doc:using>
using ComLib.Application;
using ComLib.Authentication;
using ComLib.Environments;
using AppContext = ComLib.BootStrapSupport.AppContext;

namespace ComLib.Samples
{
    /// <summary>
    /// Example for the BootStrapSupport namespace.
    /// </summary>
    public class Example_BootStrapper : App
    {       
		/// <summary>
        /// Run the application.
        /// </summary>
        public override BoolMessageItem Execute()
        {
			//<doc:example>        
			var bootup = new BootStrapper();
            // Example 1:  Non-Fluent API to configure Bootup services on startup.
            //
            // 1. Put into group called "core", parameter "core"
            // 2. With Importance as High. parameter "Importance.High"
            // 3. They must succeed without exception or the entire bootup fails. parameter "false"
            bootup.OnStart("Authentication", "core", BootTask.Importance.High, false, (ctx) => Auth.Init(new AuthWin()));
            bootup.OnStart("Environment",    "core", BootTask.Importance.High, false, (ctx) => Env.Change("qa"));
            bootup.OnStart("Logging Support", "core", BootTask.Importance.High, false, (ctx) => Console.WriteLine("Logging setup in call base.Init(context);"));
            

            // Example 2: Fluent API to configure bootup services on startup.
            //
            // 1. put into group called "myapp".
            // 2. Various levels of importance.            
            bootup.OnStart(BootTask.Named("Themes").InGroup("app").PriorityHigh.MustSucceed().ActionIs((ctx)     => Console.WriteLine("Themes setup")));
            bootup.OnStart(BootTask.Named("Widgets").InGroup("app").PriorityHigh.MustSucceed().ActionIs((ctx)    => Console.WriteLine("Widgets setup")));
            bootup.OnStart(BootTask.Named("Profiles").InGroup("app").PriorityNormal.CanFail().ActionIs((ctx)     => Console.WriteLine("Profiles setup")));
            bootup.OnStart(BootTask.Named("MVC Areas").InGroup("mvc").PriorityHigh.MustSucceed().ActionIs((ctx)  => Console.WriteLine("MVC Areas setup")));
            bootup.OnStart(BootTask.Named("MVC Routes").InGroup("mvc").PriorityHigh.MustSucceed().ActionIs((ctx) => Console.WriteLine("MVC Routes setup")));
            
            // Example 3: Run all Startup services.
            bootup.StartUp(new AppContext());
           
            // Example 4: Run only selected startup services.
            bootup.StartUp(new AppContext(), new string[] { "Environment", "Logging Support" });

            // Example 5: Get status info for all the tasks and write to console.
            bootup.GetStartupStatus().ForEach(task =>
                        Console.WriteLine(string.Format("Task Name: {0}, Group: {1}, Passed: {2}, Importance: {3}, Time: {4}",
后面还有 7 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。