防止并发问题的服务代理模式提示

时间:2019-05-06 03:23:49

标签: sql-server service-broker

  1. 我的ASP.NET网站中的一个进程将同时在不同位置被触发。
  2. 尝试使用SQL Server Broker将请求放入队列并一个接一个地执行。
  3. 启用SQL Broker并在数据库中创建队列和服务。收到请求后;我仅使用1服务开始对话对话,并将对话令牌记录在表中。
  4. 已经编写了一个激活的过程来访问传递到Queue和Initiate处理中的数据。
  5. 处理完成后,在激活的过程中结束对话。

我对我遵循的模式有疑问。对话无法正确关闭。在某些例子中;我已经看到了发起方和目标队列模式,其中在两个端点都关闭了对话。请帮助我弄清楚这种情况下所需的模式。

更新

很抱歉没有更新;忙于其他工作。我更改为分别使用2个队列(发起方和目标),服务和相应的已激活过程。  现在,连接已正确关闭。当我们在处理第一个请求时插入目标队列时;我们是否需要指定任何设置或命令以确保在启动第二个请求之前完成第一个请求?

0 个答案:

没有答案