通过SOAP Web服务公开CRUD操作不是一个好主意吗?我的直觉告诉我,这并不是最重要的,因为执行数据库调用的开销可能很大。我正在努力寻找有关此(反)模式的文档,所以我想知道是否有人可以指向我一些文档或对此事有意见。
此外,如果有人在设计肥皂服务时了解最佳实践(和/或具有这种意义的文档),那将是很好的。
这是Web服务外观的示例:
这是实现的样子:
[WebMethod]
public byte[] Fetch(byte[] requestData)
{
SelectRequest request = (SelectRequest)Deserialize(requestData);
DbManager crudManager = new DbManager();
object result = crudManager.Select(request.ObjectType, request.Criteria);
return Serialize(result);
}
最佳答案
如果您想以RESTful方式使用SOAP,那么对此有一个有趣的标准WS-Transfer;提供松散耦合的CRUD端点;从中您检查消息并相应地对您的实体进行操作。
然后,您可以在WS-Secure,WS-Reliable消息传递等之上放置任何其他想要的内容。
关于soap - 使用SOAP公开CRUD操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/187326/