相关疑难解决方法(0)

如何使用 Microsoft.Extensions.DependencyInjection 在 .net 框架中的 webapi 中注入依赖项?

我正在尝试按照以下说明将我的记录器作为 .Net Framework 4.7.2 web api 项目中的依赖项注入:

https://scottdorman.blog/2016/03/17/integrating-asp-net-core-dependency-injection-in-mvc-4/

这对 MVC Web 应用程序很有用,但在 webapi 项目上失败,并出现“无参数构造函数丢失”错误。

如何仅使用默认程序集成功注入:Microsoft.Extensions.DependencyInjection in framework?

public class Startup
{
    public void Configuration(IAppBuilder app)
    {

        var services = new ServiceCollection();
        ConfigureServices(services);
        var resolver = new DefaultDependencyResolver(services.BuildServiceProvider());
        DependencyResolver.SetResolver(resolver);
    }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersAsServices(typeof(Startup).Assembly.GetExportedTypes()
            .Where(t => !t.IsAbstract && !t.IsGenericTypeDefinition)
            .Where(t => typeof(IController).IsAssignableFrom(t)
                        || t.Name.EndsWith("Controller", StringComparison.OrdinalIgnoreCase)));
        services.AddSingleton<IMyInterface , MyClass>();
    }
}
public class DefaultDependencyResolver : IDependencyResolver
{
    protected IServiceProvider serviceProvider;

    public DefaultDependencyResolver(IServiceProvider serviceProvider)
    {
        this.serviceProvider = serviceProvider;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

.net c# dependency-injection

2
推荐指数
1
解决办法
4902
查看次数

标签 统计

.net ×1

c# ×1

dependency-injection ×1