RHyacinth框架使用入门

首先我们先建立一个控制台应用程序RainHyacinth.UnitTest

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             try
 6             {
 7                 KernelManager.Instance.InitLoad();
 8                 Console.WriteLine("数据表创建中...");
 9                 while (true)
10                 {
11                     var cmd = Console.ReadLine();
12                     if ("exit".Equals(cmd, StringComparison.CurrentCultureIgnoreCase)) break;
13                     //1.创建一个上下文对象
14                     var context = new RainWorkContext(new object());
15                     //2.客户端请求进入处理
16                     KernelManager.Instance.Begin_Request(context);
17 
18                     //3.业务逻辑处理过程
19                     ServicesHelper.Instance.TestService.Add(new OrmModel()
20                     {
21                         Name = $"rain-{DateTime.Now.TimeToStampMilliSecondInt64()}",
22                         Age = 1231
23                     });
24 
25                     //4.客户端结束请求
26                     KernelManager.Instance.End_Request(context);
27                 }
28             }
29             catch (Exception ex)
30             {
31                 Console.WriteLine(ex.Message);
32             }
33             Console.WriteLine("ok");
34             Console.Read();
35         }
36     }

 从上面代码中,可以看到。要使用风信子框架,只需要完成几个步骤的部署操作就可以了。

1.初始化程序,这个在程序启动的时候执行

KernelManager.Instance.InitLoad();

2.当程序进入请求时,创建一个上下文对象

var context = new RainWorkContext(new object());

3.将上下文对象传入请求中执行,进行请求开始执行的工作

KernelManager.Instance.Begin_Request(context);

4.请求处理完,释放对应的上下文

KernelManager.Instance.End_Request(context);

然后,引入配置文件。

 

从上图中,我们可以看到这里面有五个配置文件。那好,接下来我就对各个配置文件进行一一介绍

dbMigrationsConfig.config:数据迁移配置文件【默认情况下是关闭EF的数据迁移的,这个配置文件无需改动】

DependencyInject.config:程序依赖配置文件,程序在启动的时候,会去读取配置文件信息,对配置文件中的程序集进行Autofac的依赖注入注册。对于开发者需要进行注入的业务组件,需要增加

DependencyInjectRegisterConfig配置节点进行扩展
<!--TestLite.BLL-->
    <DependencyInjectRegisterConfig>
      <Assembly>TestLite.BLL</Assembly>
      <Type>TestLite.BLL.DependencyInjectRegister</Type>
    </DependencyInjectRegisterConfig>

Kernel.config:内核配置,这里面的配置由框架开发者来定义,框架使用者不要去更改这里面的配置信息

log4net.config:log4net组件的配置文件,相关配置说明可以参考log4net的官方api文档

StorageConfigs.config:存储数据的配置文件,配置数据库链接串信息。

<?xml version="1.0" encoding="utf-8"?>
<StorageConfigs>
  <StorageConfig>
    <StorageConfig>
      <StorageName>Current</StorageName>
      <InitialCatalog>DbInit</InitialCatalog>
      <DataSource>127.0.0.1</DataSource>
      <UserId>sa</UserId>
      <Password>4D628D9F3AF39813</Password>
      <MinimunConnections>1</MinimunConnections>
      <MaximumConnections>600</MaximumConnections>
      <ConnectionTimeout>60</ConnectionTimeout>
      <ConnectionReaperDelay>600</ConnectionReaperDelay>
      <DbDriver>RainHyacinth,RainHyacinth.Lite.Imp.Mssql.MssqlDriver</DbDriver>
      <DbcontextOwnsConnection>true</DbcontextOwnsConnection>
    </StorageConfig>
  </StorageConfig>
</StorageConfigs>

开发者需要注意的是,密码节点是加密的。对于开发者自己的数据库密码,需要使用框架里的DesEncryptService.Instance.Encrypt(password, "rhyacinth!@#$")这个算法进行加密。这个是默认的加密算法,开发者可以自己改源码,更改加密密钥。

以上内容配置好后,运行控制台程序就可以讲框架运行起来了。

运行结果如下:

 

posted @ 2016-10-09 11:33  AntColony  阅读(162)  评论(0)    收藏  举报