我想知道,因为我想为我的web应用程序(MVC)控制器实现依赖注入容器。在.NET核心框架中,我过去在项目中有一个Startup.cs文件,用于向容器中添加瞬态和依赖项注入,也用于DbContext
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureS
我感兴趣的是如何从public IConfiguration Configuration { get; set; }访问controller?
有可能做一些像ConfigurationManager.AppSettings["keyName"]这样的事情吗
更新
我尝试过这种方法,但是我得到了Unable to resolve service for type 'Microsoft.Framework.ConfigurationModel.IConfiguration'
public class MyController
{
private IConfi
我用XUnit编写了一些测试来测试我的数据访问层。我实例化了我的DAL对象和配置,就像我在实际的web应用程序中使用它一样(出于测试目的,这被配置为在开发环境中运行),但是XUnit抛出了一个错误:
消息:以下构造函数参数没有匹配的装置数据:媒体配置、IMediaDataAccess IConfiguration
我对XUnit还是个新手,所以不确定问题出在哪里。通常,ASP.NET会为我注入IConfiguration和IMediaDataAccess的实例,但这里似乎不是这样。
我的Test类&一个示例测试用例:
public class DataAccessLayerTe
我正在使用WebCore2.1创建Web。我的解决方案包含不同的项目,主/启动项目中有一个appsettings.json文件。我想阅读不同项目的附加设置。为此,我在一个公共项目中创建了一个类,该类引用了所有其他项目。
namespace Common
{
public sealed class ApplicationSettings
{
public ApplicationSettings(IConfiguration configuration)
{
InitSettings(configuration);
今天,我尝试了新的asp.net核心2.0,但是使用IConfiguration配置文件遇到了一些问题,而这个配置文件并不是要注入到IConfiguration配置构造函数属性中。
在asp.net核心1.1中,我将在StartUp中使用以下代码:
public static IConfigurationRoot Configuration;
Public Startup(IHostingEnvironment env) {
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
所以iv只是在工作中被扔进了一些新的代码中,而且它是在C#中。现在我对C#不是很熟悉,有些事情我真的不太了解,其中最主要的就是注入方法。 现在有了一个WebAPI,它有一个控制器,它使用了一个名为"LocalFileStorage“的类,这个类是另一个项目的依赖项,该类的构造函数如下所示。 public class LocalFileStorageHandler : IStorageHandler
{
*Bunch of private variables
public LocalFileStorageHandler(DbContext db
在aspnet内核2中,当我们想在启动时访问配置时,据我所知,通过依赖注入,我们可以这样做。
对于下面的代码,我们如何通过依赖注入将IConfiguration对象传递给该类;
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(ISe
我试图从另一个类(我的视图控制器)访问一个方法,在那里我连接到Azure表并更新一个实体。
我的“主计长”打电话如下:
// this requires an object reference
HttpResponseMessage httpResponseMessage = AzureTableConn.UpdateTenantSettings(post);
下面是我的类,它包含我与Azure表的连接,在那里我从Azure Key Vault提取连接字符串:
public class AzureTableConn
{
public AzureTableConn(IConfigurat
我的DAO定义如下:
@Singleton
class MyDAO @Inject()(protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] {
我有一个集成测试,它引用了这个DAO:
class SomeIntegrationTest {
lazy val someVal = new MyDAO
}
如何将DatabaseConfigProvider注入到SomeIntegrationTest中的MyDAO中?我不能在测试的构造函数中注
我需要在两个地方使用相同的ConnectionString。在我的web项目Insig.Api中,它包含来自appsettings.json的ConnectionString,在另一个项目类库中,Insing.Infrastructure是我的db上下文。
Insig.Api - Startup.cs
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IHostingEnvironment env)
{
我在测试方面没有丰富的经验,但我正在为我创建的类设置一个Singleton实例注入。不过,我不知道怎么叫那门课。如果我打电话给你,我需要建筑工人。如果我创建一个额外的空构造函数,则依赖项将显示为null。
我花了几天时间在文档中寻找它,但它只展示了如何注入的示例。之后,我无法找到如何实例化类。
此外,我还看到了一些例子,但其中许多是使用MVC控制器的,这些控制器由框架自动实例化。
Connector.cs
public class Connector
{
private IConfiguration _configuration;
public Connector(IConfi