Commit c57593e5 authored by 阿星Plus's avatar 阿星Plus

Installer DefaultSettings

parent 3d55967b
using Castle.MicroKernel.Registration; using Castle.MicroKernel.Registration;
using Castle.MicroKernel.SubSystems.Configuration; using Castle.MicroKernel.SubSystems.Configuration;
using Castle.Windsor; using Castle.Windsor;
using Plus.Configuration;
using Plus.Configuration.Startup; using Plus.Configuration.Startup;
using Plus.Domain.Uow; using Plus.Domain.Uow;
using Plus.Modules; using Plus.Modules;
...@@ -17,6 +18,7 @@ namespace Plus.Dependency.Installers ...@@ -17,6 +18,7 @@ namespace Plus.Dependency.Installers
public void Install(IWindsorContainer container, IConfigurationStore store) public void Install(IWindsorContainer container, IConfigurationStore store)
{ {
container.Register( container.Register(
Component.For<DefaultSettings>().ImplementedBy<DefaultSettings>().LifestyleSingleton(),
Component.For<IUnitOfWorkDefaultOptions, UnitOfWorkDefaultOptions>().ImplementedBy<UnitOfWorkDefaultOptions>().LifestyleSingleton(), Component.For<IUnitOfWorkDefaultOptions, UnitOfWorkDefaultOptions>().ImplementedBy<UnitOfWorkDefaultOptions>().LifestyleSingleton(),
Component.For<IPlusStartupConfiguration, PlusStartupConfiguration>().ImplementedBy<PlusStartupConfiguration>().LifestyleSingleton(), Component.For<IPlusStartupConfiguration, PlusStartupConfiguration>().ImplementedBy<PlusStartupConfiguration>().LifestyleSingleton(),
Component.For<IPlusModuleManager, PlusModuleManager>().ImplementedBy<PlusModuleManager>().LifestyleSingleton(), Component.For<IPlusModuleManager, PlusModuleManager>().ImplementedBy<PlusModuleManager>().LifestyleSingleton(),
......
using Castle.Core;
namespace Plus
{
/// <summary>
/// IShouldInitialize
/// </summary>
public interface IShouldInitialize : IInitializable
{
}
}
\ No newline at end of file
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<PackageLicenseUrl>https://raw.githubusercontent.com/Meowv/.netcoreplus/master/LICENSE</PackageLicenseUrl> <PackageLicenseUrl>https://raw.githubusercontent.com/Meowv/.netcoreplus/master/LICENSE</PackageLicenseUrl>
<PackageTags>plus;.netcoreplus;</PackageTags> <PackageTags>plus;.netcoreplus;</PackageTags>
<PackageReleaseNotes>Plus</PackageReleaseNotes> <PackageReleaseNotes>Plus</PackageReleaseNotes>
<Version>1.0.1.2</Version> <Version>1.0.3</Version>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
......
using Castle.Core.Logging; using Castle.Core.Logging;
using Plus.Configuration;
using Plus.Dependency; using Plus.Dependency;
namespace Plus namespace Plus
{ {
/// <summary> /// <summary>
/// PlusEngine /// 注入引擎
/// </summary> /// </summary>
public class PlusEngine public class PlusEngine
{ {
...@@ -14,6 +15,8 @@ namespace Plus ...@@ -14,6 +15,8 @@ namespace Plus
public ILogger Logger { get; private set; } public ILogger Logger { get; private set; }
public DefaultSettings DefaultSettings { get; private set; }
public static PlusEngine Instance { get; private set; } public static PlusEngine Instance { get; private set; }
static PlusEngine() static PlusEngine()
...@@ -30,14 +33,14 @@ namespace Plus ...@@ -30,14 +33,14 @@ namespace Plus
_initialized = true; _initialized = true;
return; return;
} }
throw new PlusException("PlusEngine 初始化"); throw new PlusException("PlusEngine 未初始化成功!");
} }
public void PostInitialize() public void PostInitialize()
{ {
if (_initialized) if (_initialized)
{ {
DefaultSettings = Resolve<DefaultSettings>();
} }
} }
......
...@@ -57,7 +57,7 @@ namespace Plus ...@@ -57,7 +57,7 @@ namespace Plus
try try
{ {
RegisterStarter(); RegisterStarter();
_logger.Debug("PlusStarter 初始化."); _logger.Debug("PlusStarter 开始初始化.");
PlusEngine.Instance.IocManager.IocContainer.Install(new PlusCoreInstaller()); PlusEngine.Instance.IocManager.IocContainer.Install(new PlusCoreInstaller());
PlusEngine.Instance.PostInitialize(); PlusEngine.Instance.PostInitialize();
IocManager.Resolve<PlusStartupConfiguration>().Initialize(); IocManager.Resolve<PlusStartupConfiguration>().Initialize();
......
using Plus.Dependency;
using System;
namespace Plus
{
/// <summary>
/// RegularGuidGenerator
/// </summary>
public class RegularGuidGenerator : IGuidGenerator, ITransientDependency
{
public virtual Guid Create()
{
return Guid.NewGuid();
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment