我有一组特定于用户的有状态服务,用于处理从应用程序中面向公众的无状态服务(Web API)转发的请求。
我正在尝试delete有状态服务,如果它在给定的时间间隔(例如一小时)内没有为任何用户请求提供服务。目前,我通过在服务本身中保留.NET计时器并使用tick事件来自动销毁服务(如果它处于空闲状态)来管理它。
这是正确的方法吗?或者在Azure服务结构中是否还有其他高效方法?
答案 0 :(得分:0)
您所拥有的机制将非常有用,我们通常会推荐这种机制。
另一种方法是拥有一个通用的“服务管理器”服务,定期检查服务是否繁忙,(或被告知)以及哪些服务可以启动deleteserviceasync调用。这样只有该服务才需要集群管理员权限,而其他所有服务都可能被锁定为只读。