gpt4 book ai didi

WCF服务设计问题

转载 作者:行者123 更新时间:2023-12-02 00:42:32 24 4
gpt4 key购买 nike

根据您的实际经验,使用一种方法定义服务契约(Contract)是否可以,该方法将接受某些对象作为请求的一种形式,并作为该请求的结果返回一些其他对象。我的意思是,我不会使用创建、删除、编辑和搜索客户的方法,而是将这些事件封装在 DataContracts 中,并且服务在收到此类 DataContract 后将采取相应的措施。但是服务接口(interface)会很简单:

interface ISomeService
{
IMessageResult Process(IMessageRequest msg);
}

因此 IMessageRequest 将提交名为 OperationType = OperationTypes.CreateCustomer 的字段,其余字段将为服务提供足够的信息,以便它可以创建 Customer 对象或在数据库中记录或其他任何内容。并且 IMessageResult 可以包含一些代码的字段,用于指示客户是否已创建。

我试图通过这种设计实现的是能够轻松地将 IMessageRequest 委托(delegate)给客户端甚至不知道的其他内部服务。我看到的另一个好处是,如果我们必须在客户上添加一些操作,我们只需为此操作提供额外的 DataContract,而不必在服务接口(interface)端更改任何内容(我想不惜一切代价避免这种情况,我的意思是不是新的操作但改变服务接口(interface):)

那么,你怎么看?这是处理复杂业务流程的好方法吗?什么是陷阱,什么可以更好。

如果我复制了一些其他线程并且我的问题有一些答案,请为我提供链接,因为我没有找到它们。

最佳答案

简短回答:是的,这可能是个好主意(我已经以一种或另一种形式实现了几次)。

这种方法的一个很好的起点是 Davy Brion 的帖子在他所谓的 request/response layer 上.他将自己最初的想法和想法整合到一个非常有用的 OSS 项目中,名为 Agatha ,这是我在撰写本文时在客户网站上提出的建议。

关于WCF服务设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2161480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com