通过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/

    10-14 12:51