Skip to content
This repository has been archived by the owner on Jan 13, 2024. It is now read-only.

Latest commit

 

History

History
84 lines (63 loc) · 1.88 KB

README.en.md

File metadata and controls

84 lines (63 loc) · 1.88 KB

Dnc.Core

First

Dnc.Core/1.0.7.3

install-package Dnc.Core

Use this in the entry point of your application:

var framework = Framework.Construct<DefaultFrameworkConstruction>()
                .Build();

Using Extensions.

namespace:

using Dnc.Extensions;

Using Helpers.

namespace:

using Dnc.Helpers; 

Using Dispatcher (Base on Quartz.net)

  1. Install-Packget Quartz
  2. Define a job like below:
  class HelloJob
        : AbstractJob
    {
        public override async Task ExecuteJobAsync(IJobExecutionContext context)
        {
            await Task.Run(() => Console.WriteLine($"{DateTime.Now.ToLongTimeString()}"));
        }
    }
  1. Framework enable dispatcher.
var framework = Framework.Construct<DefaultFrameworkConstruction>()
                .UseScheduleCenter()
                .Build();
           
            var scheduler = framework.ScheduleCenter;

            scheduler.RunScheduleAsync()
                .ConfigureAwait(false)
                .GetAwaiter();//sample schedule.

            scheduler.CreateAndRunScheduleAsync("gainorloss",
                "Dnc.WpfApp.Jobs.HelloJob",
                "* */1 * ? * *",
                "Dnc.WpfApp.exe")
                .ConfigureAwait(false)
                .GetAwaiter();

Using TasksManager(Base on Parallel and Tasks).

LinqExtensions

var items = Enumerable.Range(0, 100);//批次任务

            items.Page(30, selected =>
            {
                System.Console.WriteLine(string.Join(",", selected));//同步处理
            });

            var log = items.Parallel(30, selected =>
              {
                  System.Console.WriteLine(string.Join(",", selected));//并行处理
              });
         System.Console.WriteLine(log);