我可能会把自己搞糊涂了,但我想说的是,我希望服务是幂等的。也就是说,多次接收相同的请求不会改变系统的状态。在断开连接的集成系统中接收消息时,这对我来说很有意义。例如,通过MSMQ接收消息,并具有处理所接收消息的某种形式的服务。您希望服务处于一致状态,即使它收到10条重复的消息。
我现在正在苦苦思索的是,如何使用执行CRUD操作的标准WCF SOAP服务。幂等性问题是否只有在异步调用时才生效?自然的共鸣调用是幂等的吗?看一下CRUD操作,唯一不是幂等的是create。你能对WCF有重复的创建调用吗?
谢谢
发布于 2011-07-21 22:19:49
我猜这将取决于您(在您的域中)定义为重复的内容。一旦定义完成,您就可以在创建记录之前运行检查。例如,我有一个带有FirstName、LastName等的Person。重复的人将由FirstName + LastName识别。
您希望您的服务收到哪种类型的重复消息?同样的客户端‘点击提交按钮两次’?或者两个不同的客户端试图同时更新一条记录?
发布于 2011-07-21 22:21:50
同步或异步无关紧要。想一想,如果请求正在处理,但在收到响应之前,连接丢失了,那该怎么办?因此,您的客户端收到一个错误,但服务器已经处理了请求。Update是幂等的,因为在最坏的情况下,您需要更新记录两次。
https://stackoverflow.com/questions/6777411
复制相似问题