Я пытаюсь вызвать функцию, у которой внутри метода есть вызов LUIS.ai, который извлекает параметры конфигурации из файла application.json .
// Create the LUIS settings from configuration.
var luisApplication = new LuisApplication(
configuration["LuisAppId"],
configuration["LuisAPIKey"],
"https://" + configuration["LuisAPIHostName"]
);
var recognizer = new LuisRecognizer(luisApplication, null, true);
Проблема заключается в том, что при повторном вызове функции значения конфигурации LuisAppId
и LuisAPIKey
равны null , что создает исключение.
Я прочитал здесь в этом уроке , что я могу создать синглтон необходимых значений.
И, изменив метод ConfigureServices, создайте точку QnAMakerEndpoint, которая соединяетв базу знаний, определенную в файле appsettings.json.
Startup.cs
// Create QnAMaker endpoint as a singleton
services.AddSingleton(new QnAMakerEndpoint
{
KnowledgeBaseId = Configuration.GetValue<string>($"QnAKnowledgebaseId"),
EndpointKey = Configuration.GetValue<string>($"QnAAuthKey"),
Host = Configuration.GetValue<string>($"QnAEndpointHostName")
});
Я хотел бы, чтобы следующие вопросы включали ответ:
Концерн 1: Длится ли этот синглтон всей областью применения от пользователя, использующего его для выхода из системы?Вы бы назвали это, синглтон, в течение срока службы процесса, используемого пользователем?
Концерн 2: Если это не продлится весь пользовательский процесс, то может продолжаться весь процесс.время жизни?
Забота 3: Будет ли служба работать с конфигурациями application.json для всего пользовательского процесса / сеанса?
Вот пример использования приведенного выше примера учебного пособия
public QnAMaker EchoBotQnA { get; private set; }
public EchoBot(QnAMakerEndpoint endpoint)
{
// connects to QnA Maker endpoint for each turn
EchoBotQnA = new QnAMaker(endpoint);
}
Смогу ли я выполнить точно такой же процесс для выполнения непрерывного вызова LUIS.ai?С начальной конфигурацией var luisAppication = new LuisApplication ();