实体框架和WCF数据服务:在持久化实体后调用业务逻辑

发布于 2024-09-27 19:09:36 字数 184 浏览 1 评论 0原文

我们有一个实体数据模型,WCF 数据服务使用该模型,该服务需要在将实体保存到数据库后运行一些业务逻辑。在这种情况下,它需要通过 WCF Web 服务调用将为持久化实体生成的 id 传递给另一个服务。

问题是我们如何在保存实体后运行一些业务逻辑。该业务逻辑的一部分将是使用生成的 id 调用另一个 Web 服务。

提前致谢。

We have an Entity Data Model which is used by a WCF Data Service that needs to run some business logic after persisting an entity to the database. In this case it needs to pass the id generated for the persisted entity to another service via a WCF web service call.

The question is how do we run some business logic after saving the entity. Part of this business logic will be a call to another web service with the generated id.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清风夜微凉 2024-10-04 19:09:36

抱歉,也许我没有正确理解这个问题,但是你不能简单地使用拦截器吗?

拦截器(WCF 数据服务)

Sorry, perhaps I am not understanding the question properly, but could you not simply use an interceptor?

Interceptors (WCF Data Services)

清秋悲枫 2024-10-04 19:09:36

我可能会考虑将消息发布到事务队列,在 EF 使用的同一事务内。这样,您就可以保证要么数据被持久化并且业务流程被启动,要么两者都没有。

当您在实体上调用应触发业务流程的操作时,您甚至可以让实体将消息发布到队列。在整个事务提交之前,消息不会被发布。

NServiceBus 或 MassTransit 可以帮助解决这个问题。

I might look at publishing a message to a transactional queue, inside the same transaction as EF is using. That way, you can be guaranteed that either both the data is persisted and the business process is kicked off, or neither is.

You can even have your entity publish the message to the queue when you call the operation on the entity that should trigger the business process. The message will not be published until the entire transaction commits.

NServiceBus or MassTransit can help with this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文