В исходном коде Azure нет файла расширения бота - PullRequest
1 голос
/ 15 мая 2019

Я новичок в лазурной службе ботов.Я впервые создал нового бота и загрузил исходный код с портала Azure.В исходном коде есть файл настроек расширения бота.Там размещены все настройки, связанные с ботом.Моя проблема в том, что я снова создал нового бота и загрузил исходный код с портала Azure.Но нет никакого файла расширения бота, существует в исходном коде.Как я могу получить файл настроек расширения бота.Пожалуйста, дайте ваше предложение.

1 Ответ

0 голосов
/ 15 мая 2019

Команда разработчиков фреймворков перестает хранить информацию о ботах в файле .bot и теперь помещает ключи в appsettings.json. Исходный код бота, загруженный из Azure, теперь следует этому принципу и должен включать ConfigurationCredentialProvider.cs, который будет искать информацию в вашем appsettings.json:

public class ConfigurationCredentialProvider : SimpleCredentialProvider
{
    public ConfigurationCredentialProvider(IConfiguration configuration)
        : base(configuration["MicrosoftAppId"], configuration["MicrosoftAppPassword"])
    {
    }
}

Этот ConfigurationCredentialProvider добавляется как одиночный файл в файле Startup.cs:

// This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

        if (!string.IsNullOrEmpty(Configuration[BotOpenIdMetadataKey]))
            ChannelValidation.OpenIdMetadataUrl = Configuration[BotOpenIdMetadataKey];

        // Create the credential provider to be used with the Bot Framework Adapter.
        services.AddSingleton<ICredentialProvider, ConfigurationCredentialProvider>();

        // Create the Bot Framework Adapter.
        services.AddSingleton<IBotFrameworkHttpAdapter, BotFrameworkHttpAdapter>();

        // Create the bot as a transient. In this case the ASP Controller is expecting an IBot.
        services.AddTransient<IBot, EchoBot>();
    }
...