我处于需要在 Azure WebRole 上高度可用的 WCF 服务的情况。但是有一个小问题,因为该服务将处理需要从 Blob 存储加载大量数据 (3GB) 的请求。这些数据只需要在服务启动后加载!所以,发生的事情是在服务的构造函数中我正在加载这些数据(大约需要 2 分钟)。对服务的每个请求只需要大约 100 毫秒。
我遇到的第一个问题是服务的构造函数只在第一个请求时被调用。所以第一个使用这个服务的人要等2分钟,真的很烦。
第二个问题是每隔一天(有时是半周)服务必须再次加载该数据。所以我想服务类已经被处理了?因此,再次使用该服务的人必须等待 2 分钟,该服务不负责。
我不知道为什么会发生这种情况以及如何阻止它发生。我的服务在 InstanceContextMode.Single 和 ConcurrencyMode.Multiple 中。
任何想法都非常感谢!