使用 Flex、.NET 和 DBMS 寻找更好的端到端通信
Posted
技术标签:
【中文标题】使用 Flex、.NET 和 DBMS 寻找更好的端到端通信【英文标题】:Looking for better End-to-End Comms with Flex, .NET and DBMS 【发布时间】:2008-09-15 15:56:44 【问题描述】:我们正在审查我们在工作中的一些做法 - 我们现在正在研究的具体内容是使用基于 Flex 的客户端和 .NET Web 服务进行 Comms 的最佳方法。
我们的典型方法是首先根据需求对交互进行建模,模拟一些 XML 消息并对其进行健全性检查,将它们转换为 XSD,最后在每一端构建与 XML 进行序列化的类。
这一切正常,直到我们访问数据库,然后像连接表之类的东西开始破坏我们为简化客户端所做的所有工作。
我们已经尝试使用 LINQ to SQL 和其他 OR 映射器来解决这个问题,但它们都没有真正解决问题而不引入更严重的问题。
所以,真正的问题是:如果不将 RDBMS 视为简单的对象存储,是否有更好的方法来处理复杂的数据需求,而无需编写大量的转换代码?
我想我正在寻找的灵丹妙药是知道什么是 Join 表以及如何处理它,并且仍然允许我为 Flex 生成“不错的”序列化 XML 并保留强大的 .NET 类型。
如果它可以分析每种方法所需的 SQL,生成存储过程并使用它们,则可以加分。但这可能要求太多了:)
注意“加入表格”:
我们对此的定义是你有一个表,它有两个或多个外键作为它自己的主键。
例如:
Photos (PK PhotoID) <- PhotoTags (PK FK PhotoID, PK FK TagID) -> Tags (PK TagID)
当 Flex 客户端获取照片对象时,它可能还会获取所有标签的列表。 所以,这可能看起来像这样:
相反,我见过的 OR 工具给了我们:
【问题讨论】:
【参考方案1】:虽然我确信还有其他方法可以解决您的问题,但您是否有特定原因希望通过 Web 服务与 .net 进行通信? 一个非常干净的解决方案是使用类似 WebOrb (http://www.themidnightcoders.com/weborb/dotnet/) 他们提供社区和商业产品,并且非常优雅地处理您描述的问题。
-mw
【讨论】:
您好,谢谢您的回复。我要提到 WebOrb - 我们已经看过它,但它并没有解决我们在向客户隐藏数据库内部时遇到的问题。在我的例子中,我们仍然有 Photo.PhotoTags[].Tag.Tag 或类似的。谢谢:)以上是关于使用 Flex、.NET 和 DBMS 寻找更好的端到端通信的主要内容,如果未能解决你的问题,请参考以下文章
关于将 Flex 与 WCF 和 Linq to Entities 一起使用的建议