C# 如何使用autofac通过依赖项注入进行实例化

C# 如何使用autofac通过依赖项注入进行实例化,c#,amazon-web-services,C#,Amazon Web Services,我目前有这一行代码使用.net的DI工作 services.AddSingleton<IAmazonS3>(client => new AmazonS3Client(id, secret, region)); 我的应用程序使用 using (var client = new AmazonS3Client()) { } 你的问题在这里: using (var client = new AmazonS3Client()) { } 您没有从DI容器解析该类,因此它会创建新实

我目前有这一行代码使用.net的DI工作

services.AddSingleton<IAmazonS3>(client => new AmazonS3Client(id, secret, region));
我的应用程序使用

using (var client = new AmazonS3Client())
{

}
你的问题在这里:

using (var client = new AmazonS3Client())
{

}
您没有从DI容器解析该类,因此它会创建新实例

你需要做一些事情,比如:

var client=container.Resolve()

或者将其注入构造函数

您的代码没有被命中,因为来自DI的返回将在解析时被调用

请查看此页面以了解更多选项。依赖关系的解析非常依赖于您的平台、代码库和代码库中使用的实践

您的问题在这里:

using (var client = new AmazonS3Client())
{

}
您没有从DI容器解析该类,因此它会创建新实例

你需要做一些事情,比如:

var client=container.Resolve()

或者将其注入构造函数

您的代码没有被命中,因为来自DI的返回将在解析时被调用

请查看此页面以了解更多选项。依赖关系的解析非常依赖于您的平台、代码库和代码库中使用的实践


除了给出的答案之外,我很确定您的依赖项注册不正确。行
.As(client=>newamazons3client())
应更改为
.As()
@Greg good catch除了给出的答案之外,我很确定您注册的依赖项不正确。行
.As(client=>newamazons3client())
应更改为
.As()
@Greg good catch谢谢您的回复。它帮助我深刻地理解了我的错误。谢谢你的回复。它帮助我深刻地理解我错在哪里
using (var client = new AmazonS3Client())
{

}