我是.net核心的新手。需要帮助建立统一框架。这是我尝试过的。
我添加了对System.Configuration.ConfigurationManager .net标准V2.0的引用
然后创建app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!--In older version, Microsoft.Practices.Unity.Configuration.dll is part of older version (around 3.5.1404). In newer version,
Microsoft.Practices.Unity.Configuration.UnityConfigurationSection class is moved to Unity.Configuration.dll.-->
<!--<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>-->
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Unity.Configuration"/>
</configSections>
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<!--Old syntax-->
<!--<typeAliases>
<typeAlias alias="IDBAccess" type="Interfaces.IDataProvider, Interfaces" />
<typeAlias alias="SQLDataAccess" type="SQLDataProvider.DataProvider, SQLDataProvider" />
</typeAliases>-->
<!--New syntax supported in newer versions. So if above syntax does not work then try below one-->
<alias alias="IDBAccess" type="Interfaces.IDataProvider, Interfaces" />
<alias alias="SQLDataAccess" type="SQLDataProvider.DataProvider, SQLDataProvider" />
<alias alias="OracleDataAccess" type="OracleDataProvider.DataProvider, OracleDataProvider" />
<containers>
<container name="DataAccessProvider">
<register type="IDBAccess" mapTo="SQLDataAccess"/>
<register type="IDBAccess" mapTo="SQLDataAccess" name="SQLDataAccess" />
<register type="IDBAccess" mapTo="OracleDataAccess" name="OracleDataAccess" />
</container>
</containers>
</unity>
</configuration>
在课堂上,我尝试读取配置,但得到NULL。
UnityConfigurationSection section =
(UnityConfigurationSection)ConfigurationManager.GetSection("unity");
如果您是指Unity DI容器框架,则无需进行设置,因为dotnet核心是其自己的IoC DI容器。dotnet核心也使用appSettings.json配置文件。在Startup.cs中应该有以下方法:
public void ConfigureServices(IServiceCollection services)
{
}
您可以使用services对象配置依赖项,如下所示:
services.AddSingleton<IContract, Contract>();
关于如何配置依赖项,还有其他选择,我刚刚介绍了Singleton,但是您可以从这里开始。
最简单的检查方法是开始一个新项目:
dotnet new mvc -n testProj
并检查Startup.cs文件,向其添加接口,实现,然后将其注册到IServiceCollection实例中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句