Services.AddTransient()与Services.AddBot()

问题描述 投票:1回答:1

在最新的bot示例中,我们可以看到该bot如下所示被添加到服务集合中]

services.AddTransient<IBot, MyBot>();

但是在较旧的示例中,我们看到了以下方法

services.AddBot<MyBot>(options => { });

[这里,我试图了解使用AddTransient()添加bot而不是使用AddBot()添加bot的好处。我知道的是,内部AddBot仅使用AddTransient,然后为什么要使用AddTransient。 this链接中的引用的备注部分。

[在最新的bot示例中,我们可以看到bot被添加到services集合中,如下services.AddTransient ();但是在较旧的示例中,我们看到了以下方法服务。AddBot&...

botframework asp.net-core-2.0
1个回答
0
投票

您可以在source code中看到AddBot方法除了用于自动程序外,还用于将自动程序适配器自动添加到DI以及用于配置与自动程序相关的选项,例如凭据和错误处理。制作这些样本时,使用Bot Builder v4 SDK的约定有很大不同,并且从bot文件中加载了bot的配置及其凭据。当前使用SDK的约定要容易得多,因为它利用ASP.NET Core从appsettings.json自动加载应用程序的配置。由于我们不再使用AddBot,因此您会注意到适配器已显式添加到DI,并且可以通过直接访问适配器的属性和方法或派生自己的适配器来配置错误处理和中间件之类的内容类,如示例所示。

© www.soinside.com 2019 - 2024. All rights reserved.