Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在不使用ConfigureServices的情况下配置ASP.NET MVC核心控制器实例化_C#_Asp.net Core Mvc - Fatal编程技术网

C# 在不使用ConfigureServices的情况下配置ASP.NET MVC核心控制器实例化

C# 在不使用ConfigureServices的情况下配置ASP.NET MVC核心控制器实例化,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,在OWIN的好日子里,在aspnet core之前,可以通过传入HttpConfiguration对象来配置ASP.NET WebApi。在那里,除其他事项外,还可以配置ControllerActivator等。。。如果你想。。。。e、 g appBuilder.UseWebApi(webApiConfig) 在ASP.NET MVC Core中是否有类似的方法可以做到这一点,从而避免使用WebHostBuilder(直接或通过启动约定) e、 g.不使用类似以下内容: var host =

在OWIN的好日子里,在aspnet core之前,可以通过传入HttpConfiguration对象来配置ASP.NET WebApi。在那里,除其他事项外,还可以配置ControllerActivator等。。。如果你想。。。。e、 g

appBuilder.UseWebApi(webApiConfig)
在ASP.NET MVC Core中是否有类似的方法可以做到这一点,从而避免使用WebHostBuilder(直接或通过启动约定)

e、 g.不使用类似以下内容:

var host = new WebHostBuilder()             
.ConfigureServices(serviceCollection => 
    serviceCollection.AddSingleton<IControllerActivator>(new 
    ControllerActivator()))

进一步调查…

所以。。。需要提供一些必需的服务,以便至少让管道在没有异常的情况下运行。我的主要目标是添加一个自定义IControllerActivator。这就是我最终得到的结果(在浏览WebHostBuilder之后):


希望它能帮到别人所以。。。需要提供一些必需的服务,以便至少让管道在没有异常的情况下运行。我的主要目标是添加一个自定义IControllerActivator。这就是我最终得到的结果(在浏览WebHostBuilder之后):


希望它能帮助某人..

看起来像是一个XY问题,你到底想实现什么?我创建了一个可以接受RequestDelegate(或中间件)的代理,这样就可以使用HttpClient(Damian Hickey的一个端口)直接调用它。现在,在“旧”OWIN堆栈中,可以在设置请求/中间件管道时直接传入HttpConfiguration。。。我想做一些类似的事情…看起来像是一个XY问题,你到底想实现什么?我已经创建了一个可以接受RequestDelegate(或中间件)的代理,这样就可以使用HttpClient(Damian Hickey的一个端口)直接调用它。现在,在“旧”OWIN堆栈中,可以在设置请求/中间件管道时直接传入HttpConfiguration。。。我想做类似的事情。。。
var serviceCollection = new ServiceCollection();
            serviceCollection.AddMvcCore();
            var serviceProvider = serviceCollection
                .AddSingleton<IControllerActivator>(new ControllerActivator())
                .AddLogging()
                .BuildServiceProvider();

            ApplicationBuilder builder = new ApplicationBuilder(serviceProvider);
            builder.UseMvc();

            return builder.Build();
System.InvalidOperationException: Unable to resolve service for type 'Microsoft.Extensions.Options.IOptions`1[Microsoft.AspNetCore.Mvc.MvcOptions]' while attempting to activate 'Microsoft.AspNetCore.Mvc.ModelBinding.ModelBinderFactory'
 var listener = new DiagnosticListener("Microsoft.AspNetCore");
 var serviceCollection = new ServiceCollection();
 serviceCollection.AddMvcCore();

 var serviceProvider = serviceCollection
     .AddSingleton<IControllerActivator>(new ControllerActivator())
     .AddLogging()
     .AddSingleton<DiagnosticSource>(listener)
     .AddOptions()
     .AddSingleton<ObjectPoolProvider, DefaultObjectPoolProvider>()
     .BuildServiceProvider();
 ApplicationBuilder builder = new ApplicationBuilder(serviceProvider);
 builder.UseMvc();

 return builder.Build();