Доступ к службе WCF, развернутой как WebJob в Azure, в изолированной программной среде WebApp - PullRequest
0 голосов
/ 21 ноября 2018

Я натолкнулся на документ в Azure Sandbox, в котором говорится, что мы можем взаимодействовать между процессами в WebApp Sandbox по TCP, а также с именованными каналами.У меня служба WCF, развернутая как WebJob, я могу обмениваться данными между двумя WebJobs, развернутыми в изолированной программной среде WebApp по TCP, а также с именованным каналом.Проблема возникает, когда я пытаюсь связаться с WebApp.Я получаю ту же ошибку, что и в документации по песочнице (https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#local-address-requests).

. Одна странная вещь, которую я вижу в Kudu, - два запущенных w3wp.exe, один для веб-приложения и другой для SCM (WebJob и т. Д.).каким-то образом выглядит, что между ними нет возможности установить связь через порт / именованные каналы.

enter image description here

У кого-нибудь есть более подробная информация о том, как получить доступ к этому сервису?

Ответы [ 3 ]

0 голосов
/ 21 ноября 2018

Связь работает, только если на основном сайте запущена служба TCP или namedpipe.Сайт СКМ как клиент может с ним общаться.Обратный путь (что вам нужно) не поддерживается из-за некоторых ограничений.

0 голосов
/ 22 ноября 2018

Я изучил немного больше и нашел, что ближайший ответ - установить WEBSITE_DISABLE_SCM_SEPARATION=true в настройках приложения.Это позволит процессам WebApp и SCM работать в одной и той же песочнице.К сожалению, эта опция устарела в Azure и больше не поддерживается.Спасибо всем за попытку ответа.Более подробную информацию можно найти здесь .

0 голосов
/ 21 ноября 2018

Примечание: вы не можете общаться через localhost на веб-сайтах Azure (или веб-заданиях) и не можете прослушивать порт, который не является 80 / 443.

ЕСЛИ вы просто хотите доставить сообщение,Вы можете использовать файловую систему для общения.Вы пишете файл из WebJob и используете FileSystemWatcher для отслеживания изменений файла.

Или вы можете использовать веб-сокет для связи друг с другом с помощью SignalR , вы можете обратитьсяна этот блог .

Если у вас все еще есть вопросы, пожалуйста, дайте мне знать.

...