Я создал функцию HTTP Trigger в Azure с надеждой на чтение данных из базы данных SQL Azure.Я настроил строку подключения в разделе «Строки подключения» в приложении «Функции», как показано на рисунке ниже
Я использовал приведенный ниже код, чтобы попробовать и прочитатьстрока соединения.
var cnnString = ConfigurationManager.ConnectionStrings["TempleDataContext"].ConnectionString;
При выполнении я вижу в журналах следующую ошибку:
2018-10-24T18: 13: 56.385 [Информация] Скрипт для функции 'don1изменилось.Перегрузочный.2018-10-24T18: 13: 56.601 [Информация] Компиляция выполнена успешно.2018-10-24T18: 13: 58.511 [Информация] Выполнение 'Functions.donors1' (Reason = 'Эта функция была вызвана программно через хост-API.', Id = 8b140087-4b50-450e-829c-f7abd9e3a1eb) 2018-10-24T18: 13: 59.067 [Информация] Триггерная функция HTTP C # обработала запрос.2018-10-24T18: 13: 59.245 [Ошибка] Выполнено 'Functions.donors1' (Ошибка, Id = 8b140087-4b50-450e-829c-f7abd9e3a1eb) Ссылка на объект не установлена для экземпляра объекта.
Я хотел проверить, что все возвращалось в объекте ConnectionStrings, и изменил код на
var cnnStrings = ConfigurationManager.ConnectionStrings;
foreach(var c in cnnStrings)
{
log.LogInformation(c.ToString());
}
Когда я проверяю журналы, это информация, которую я вижу.
2018-10-24T18: 16: 53.755 [Информация] Сценарий для функции «don1» изменен.Перегрузочный.2018-10-24T18: 16: 54.540 [Информация] Компиляция выполнена успешно.2018-10-24T18: 16: 55.917 [Информация] Выполнение 'Functions.donors1' (Reason = 'Эта функция была вызвана программно через хост-API.', Id = 508c49bf-d5e6-4a99-b1db-e1a79545fa91) 2018-10-24T18: 16: 56.063 [Информация] Триггерная функция C # HTTP обработала запрос.2018-10-24T18: 16: 56.070 Источник данных [Information] =. \ SQLEXPRESS; Интегрированная защита = SSPI; AttachDBFilename = | DataDirectory | aspnetdb.mdf; Экземпляр пользователя = true 2018-10-24T18: 16: 56.079 [Информация] выполнена'Functions.donors1' (Успешно, Id = 508c49bf-d5e6-4a99-b1db-e1a79545fa91)
Я не понимаю, откуда он получает информацию о ConnectionString.
Простопротестировать thoery Я также добавил несколько строк для чтения настроек приложения
var appSettings = ConfigurationManager.AppSettings;
foreach(var a in appSettings)
{
log.LogInformation(a.ToString());
}
Он не отображал никакой информации для этих строк.
Я пишу функции Azure непосредственно на портале, используяC # Скрипт.Я что-то пропустил?Любая помощь будет принята с благодарностью.