Как нам развернуть веб-приложение Pharo seaside? - PullRequest
0 голосов
/ 25 апреля 2018

Я знаю, что в книге Entreprise Pharo есть хорошее объяснение для развертывания продукции на сервере Linux.Я последовал этому уроку и смог развернуть тот же проект.Однако проект содержал только простой класс MyFirstWebApp и не включал инфраструктуру Seaside.Сценарий запуска был следующим:

ZnServer defaultOn: 8080. ZnServer default logToStandardOutput. ZnServer default delegate map: 'image' to: MyFirstWebApp new; map: 'redirect-to-image' to: [ :request | ZnResponse redirect: 'image' ]; map: '/' to: 'redirect-to-image'. ZnServer default start.

А что, если у вас есть проект с множеством классов, использующий Seaside Framework?Я повторил ту же процедуру для моего собственного проекта Seaside, но я получаю сообщение об ошибке WARequestContextNotFound при запуске сценария run.st с помощью следующей команды ./pharo myapp.image run.st.Есть идеи?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы смешиваете использование чистых делегатов Zinc Server с обработкой Приморских Приложений.Zinc предоставляет «серверный адаптер» для Seaside, который можно настроить с помощью ZnZincServerAdaptor startOn: 8080 (или любого другого порта по вашему выбору).

Если вы хотите запустить веб-приложение Seaside, вы должны развернуть образ сВ нем установлен фреймворк Seaside вместе с вашими собственными классами (MyFirstWebApp и друзьями).

Так что ваш run.st будет выглядеть примерно так:

ZnZincServerAdaptor  startOn: 8080.
ZnZincServerAdaptor default server debugMode: true.
ZnServer default logToStandardOutput.

"Here you register the Seaside application _class_"
(WAAdmin register: MyFirstWebApp asApplicationAt: 'image')
    preferenceAt: #serverPath put: '/'.
WAAdmin defaultDispatcher defaultName: 'image'.
...