Как да внедрите Azure WebJob с помощта на различни конфигурации за различни среди в Visual Studio

Имаме няколко уеб приложения и уеб задачи с различни конфигурации за различни среди, напр. Тествайте и пускайте.

Всяко WebJob се внедрява в уеб приложение с помощта на „Публикуване като Azure WebJob“ във Visual Studio.

Използваме разширението Config Transform, за да трансформираме App.config, който се състои от различни секции за конфигурация, низове за връзка и настройки на приложението, които трябва да бъдат трансформирани. Това работи добре за локално отстраняване на грешки и за освобождаване.

Проблемът е, че когато използваме „Публикуване като Azure WebJob“, няма начин да посочим коя конфигурация да използваме и Release винаги се изгражда и публикува, дори ако тестът е избран във Visual Studio.

Също така се опитахме да внедрим WebJob заедно с уеб приложението, но то почти винаги увисва, както е описано в Блок при публикуване на уеб приложение в Azure с WebJob

Не е необходимо да използваме config transform, ако това не е възможно, напр. можем да конфигурираме директно в Azure. Но не намерих начин да конфигурирам секциите за конфигурация директно в Azure.


person Lillvik    schedule 15.01.2016    source източник


Отговори (2)


Да, това е известна болезнена точка на VS инструменти, която се появява често. Краткият отговор е, че трансформациите в стил web.config не се поддържат за общи типове приложения като конзолни приложения.

Това беше обсъдено наскоро в контекста на WebJobs в нашето публично хранилище тук . Този проблем също има връзка към VS User Voice проблем за това. Този елемент също има връзка към разширението SlowCheetah VS, което според някои потребители работи за тях. Може да опиташ.

Ако това не работи за вас, тогава ще трябва ръчно да управлявате настройките си чрез острие за настройки на приложението в портала на Azure.

person mathewc    schedule 15.01.2016

Добавих стъпка за предварително компилиране, за да променя файла webjob-publishing-setting.json и файла app.config в зависимост от избраната конфигурация.

Webjob-publishing-settings.json имаше само името. След това от Visual Studio 2019 използвах „Публикуване като Azure WebJob“ и това създаде второ уеб задание с новото име и нова конфигурация.

Работи страхотно!

person Magnus Danielson    schedule 29.04.2020