gpt4 book ai didi

asp.net-core - 什么取代了 CallContextServiceLocator?

转载 作者:行者123 更新时间:2023-12-02 20:10:05 26 4
gpt4 key购买 nike

在 ASP.NET 5 的 beta 8 中,我可以访问 CallContextServiceLocator。 RC1 中不再提供此功能。

如何替换下面代码中对 CallContextServiceLocator 的调用。我正在使用该代码创建服务的测试实例。

    private static TestServer CreateTestServer(HttpMessageHandler backchannelHttpHandler = null)
{
HostingEnvironment hostingEnvironment = new HostingEnvironment { EnvironmentName = "Testing", };
Microsoft.Extensions.PlatformAbstractions.IApplicationEnvironment appEnv =
CallContextServiceLocator.Locator.ServiceProvider.GetRequiredService<Microsoft.Extensions.PlatformAbstractions.IApplicationEnvironment>();

Startup serviceStartup = new Startup(hostingEnvironment, appEnv, backchannelHttpHandler);

Action<IApplicationBuilder> configureApp = app => serviceStartup.Configure(app, appEnv, new LoggerFactory());
Action<IServiceCollection> configureServices = svc => serviceStartup.ConfigureServices(svc);

WebApplicationBuilder webAppBuilder = new WebApplicationBuilder();
webAppBuilder.Configure(configureApp);
webAppBuilder.ConfigureServices(configureServices);

return new TestServer(webAppBuilder);
}

最佳答案

本身没有替代品,它已经被埋葬了,RIP:)。您可以使用平台服务来获取特定组件。此外,托管 API 也经过了改进,不再那么糟糕,因此默认情况下不需要向其中传递任何内容。

关于asp.net-core - 什么取代了 CallContextServiceLocator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34939618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com