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!@#$")这个算法进行加密。这个是默认的加密算法,开发者可以自己改源码,更改加密密钥。
以上内容配置好后,运行控制台程序就可以讲框架运行起来了。
运行结果如下: