服务体系结构(WCF和Delphi)

| 我正在一个有两个用户界面的项目中工作。 Web(asp.net mvc)和桌面(Delphi 2010)。这是客户要求的,因此我们需要使用Delphi。 我们正在考虑面向服务的体系结构,WCF也是如此。可以在Asp.Net MVC中访问WCF服务,但是在Delphi中我需要做什么?我的主要疑问是,如何使用Delphi在WCF中访问服务。有什么方法可以使它变得容易吗? 我的服务方法可以返回IEnumerable或T []吗? 有什么建议吗? 谢谢!     
已邀请:
WCF中的Web服务支持提供了Delphi不支持的许多功能-MTOM,WS-Addressing,WS-Reliable Messaging和WS-Security。如果您正在设计系统的两个部分(Web服务服务器和客户端),那么您会感到很高兴,可以选择使用哪些功能(只要它们不是由其他方决定的)。 幸运的是,WCF不会“指示”使用SOAP。维基百科文章中的“互操作性”部分提到了带有标准XML(或RSS或JSON)的WCF。还有一个用于REST的WCF绑定。 规划面向服务的体系结构是一项艰巨的任务,因此,我强烈建议您通读本主题的常用文献,并找到一种使之尽可能简单,易于测试和发展的方法。     
也许您可以看一下RemObjects SDK:它是一种类似WCF的解决方案,可以将其用于.Net,Delphi,Objective-C,PHP,C ++等。 因此,您可以使用RemObjects for .Net构建服务器,例如TCP + Binary消息以实现最佳性能(SOAP / XML慢得多!),以及Delphi 2010客户端(甚至支持FreePascal)。双方(Delphi和.Net)彼此兼容,即使对于二进制消息也是如此! 我对RemObjects的经验非常好:非常易于使用和构建服务(比WCF容易吗?),良好的支持和质量等。     
我们的开源mORMot框架是Delphi最新的SOA框架之一。 您可以使用“ 0”来定义您的服务合同,并使用命名管道,GDI消息或TCP / HTTP在本地或远程访问它们。您的合同在客户端和服务器端都进行了定义,就像在WCF中一样。
type
  ICalculator = interface(IInvokable)
    [\'{9A60C8ED-CEB2-4E09-87D4-4A16F496E5FE}\']
    function Add(n1,n2: integer): integer;
  end;
它实时处理每个呼叫,每个会话,每个用户或每个组的实例。请参阅此示例代码。 它是安全的(具有URI级别的安全身份验证),轻便且快速。 它使用JSON作为通信(比XML轻)和RESTful访问。它已准备好供AJAX或WCF客户端使用(自定义封送接口之后的最新操作)。它针对速度和可伸缩性进行了优化(具有高级功能,例如平衡的自定义托管和按接口/按方法访问的安全性)。 mORMot框架文档有800多个页面,并且在Delphi中对面向服务的体系结构设计模式进行了专门的高级解释。它与Client-Server ORM集成在一起,因此您手边拥有了在Delphi和其他技术中创建适当的域驱动应用程序所需的所有低级工具。     

要回复问题请先登录注册