2

如何使用 Pharo 托管 Web 应用程序,以便在 Web 上访问它的每个客户端都有一个唯一的应用程序实例?

我基于“Enterprise Pharo”示例制作了一个 Web 应用程序,它在 ZnServer 上提供一个 html 页面,如下所示:

ZnServer startDefaultOn: 80. 
ZnServer default delegate map: #display to: RBDisplay new.

例如,可以在 localhost/display 上找到该站点

我制作并希望在线托管的页面接受一个 .csv 文件,迭代其中的值以返回一个新值,并将其作为一个表返回,并将这个新值放在一个列中。虽然这部分对我有用,但我发现无论何时何地访问我托管的页面(即其他计算机、IP 地址、时间),上传的值都会持续存在,除非我重新启动 ZnServer。

托管此类应用程序的最佳方式是什么,以便为访问该页面的每个人提供我的应用程序的“新”实例?

4

2 回答 2

0

部分解决。

获取具有唯一会话 ID sessionID := request session并呈现子类的新实例并映射到委托服务器,然后映射ZnClient Redirect: sessionID到该实例。

然后需要清理过期的会话。

于 2018-05-15T18:52:11.633 回答
0

通过 Seaside,您可以免费获得课程。然后,您可以在 nginx/apache 前面放置一个负载均衡器,并确保您的会话始终路由到正确的映像。

于 2018-05-14T09:28:16.537 回答