2016-10-12 2 views
-1

Я в настоящее время есть несколько WebAPI проектов, использующие несколько библиотек классов, такие как поиск адреса, проверки банки, хранение изображений и т.д.Использования Azure WebJobs для ответов на спрос

В настоящее время все они находятся в совместном решении, но я Мы планируем разделить их. Я думал о перемещении библиотек в пакеты NuGet, чтобы они были отделены от проектов API и были должным образом разделены.

Однако, если я вношу изменения в один из этих компонентов, мне нужно будет построить и повторно развернуть службу API, даже если это отдельный компонент, который изменился.

Я думал о том, чтобы эти компоненты были в отдельном сервисе, но, по-видимому, немного накладные расходы, что это такое.

Я смотрю на Azure WebJobs и думаю, что смогу перенести эти компоненты на это. У меня есть два вопроса, связанных с этим:

  1. Являются ли WebJobs подходящими для вызова по требованию (не используя очередь)? Запрос будет активирован у пользователя на веб-сайте, который вызывает мою службу API, которая затем вызывает веб-работу, поэтому она должна быть быстрой.

  2. Может ли WebJob вернуть данные? Я видел примеры, где он обрабатывает и обновляет базу данных, но мне нужен ответ (в идеале Json) для моей службы API.

Благодаря

+0

Не правда ли, что у вас будет такая же проблема? Если ваш WebJob размещен в AppService в Azure, в чем разница между развертыванием WebAPI и развертыванием WebJob? –

+0

Предполагаю, что я могу развернуть новую версию WebJob без необходимости касаться службы API? – ADringer

+0

В соответствии с этим (http://stackoverflow.com/questions/22265546/can-i-invoke-an-azure-webjob-from-an-azure-website-and-pass-it-parameters) ваш план не будет работать , В настоящее время нет способа передать параметры в WebJob при попытке вызвать его. Кроме того, WebJob реализуется как метод «public static void», поэтому вы не сможете вернуть данные из него. –

ответ

1

По вашему требованию, я предполагаю, что вы могли бы попытаться использовать Azure функции путем создания функции с помощью триггера HTTP, который может инициироваться доступ к функциям URL с параметрами и вернуть как вы ожидали. Вы можете следить за этим tutorial для начала работы с функциями Azure.

+0

Спасибо, я думаю, это то, что я ищу! Я просмотрел и вижу, что вы можете развернуть из репозитория Git. Это буквально просто скопировать файл или скомпилировать его? Причина в том, что я хочу ссылаться на другой проект в том же решении и, возможно, на пакеты NuGet, может ли он это сделать? – ADringer

+0

Nevermind, я только что нашел статью Azure о том, как это сделать здесь: https://azure.microsoft.com/en-us/documentation/articles/functions-reference-csharp/ – ADringer

Смежные вопросы