【发布时间】:2018-10-03 20:30:53
【问题描述】:
我使用@RemusRusanu 的 Service Broker 博客示例来解决一些类似 ETL 的问题。它运作良好。我知道在对话对话中不设置 LIFETIME 属性可能会导致 DB 意外增长,直到达到 Int32.Max 秒等待时间,这会释放与过时对话相关的 DB 对象。将 LIFETIME 属性设置为低值有助于资源被释放。
但是我如何处理 RR 的对话重用技术,使用表格模式(例如,为每个 DB 对话存储对话 GUID)并同时设置一些 LIFETIME 属性?据我不知道它何时超时,预期的缺点将是下次我将查询表以获取同一数据库的对话 ID 时盲目地重用已结束的对话,这显然会引发一些异常。
是否可以(轻松地)收到有关对话 LIFETIME 超时事件的通知,以便我可以自己处理从表中删除对话记录?
感谢分享。
让-伊夫
【问题讨论】:
-
我不明白你的担忧。如果您正在重用对话池,您认为什么会“意外增长”?