0

我遇到的问题是我正在使用第三方 dll 来做某事(非常昂贵的操作),它不可序列化,并且每次都需要一分钟才能启动。每次调用 WCF 服务时都需要它,我无法将其保存在内存中(回收),也无法将其保存在缓存中(不可序列化)。

我想知道有什么替代品(如果有的话)?我最初在考虑使用 Worker Role,但后来我读到它们也被回收了。然后我考虑了一个 Windows 服务,但我希望有更适合的东西。

我想我不是唯一一个遇到这个问题的人,而且其他人已经解决了这个问题!:)

4

1 回答 1

2

为什么不能使用 Worker Roles 或 Web Roles 将 yoru 进程生成的数据保存在内存中?这两个角色都不会经常“刷新”它的记忆。确实,不能保证不会发生重新启动,但是这些重新启动非常罕见,并且检查您的状态数据是否为空,然后在它为空时重新填充它,这应该没什么大不了的,逻辑可以在任何服务器上工作同样的方式,无论是云服务还是专用虚拟机。

编辑:Web 角色或辅助角色不会在任何已知周期重新启动。但是,默认情况下,IIS 会按计划进行回收。可以通过启动脚本更改或禁用此计时器。此外,在工人角色中不会发生这种回收。所以,如果你正在运行一个工作者角色,只要你不自己回收服务器或发生罕见的 Windows 更新,这个东西就会留在内存中

高温高压

于 2014-02-17T17:19:15.033 回答