Delphi服务器端框架用于管理会话并使用JSON响应ajax请求?

时间:2010-12-13 17:35:02

标签: ajax json delphi session

如果不重新发明轮子,我可以用什么来管理Web应用程序中的用户会话,并能够使用JSON响应ajax请求?

是否有一些框架(例如使用Indy组件或类似的东西制作)?

赏金注意事项:

在实践中,对我来说,回复一个明确的服务器应用程序示例就足够了。不知何故,php示例的Delphi示例提到了HERE。 (没有数据库部分,我想看看发送JSON意味着什么的基础知识。我对TIdHTTPServer有基本的了解。)

6 个答案:

答案 0 :(得分:5)

您可以查看我们的Synopse SQLite3 Framework,它刚刚更新为1.11版。

serves the data in pure JSON,可以在任何AJAX应用程序中使用。

您还可以更轻松地创建服务Client-Server JSON RESTful Services。在这种情况下,您甚至不能将SQLite3用于数据存储。

这个框架是纯粹的开源,编译/运行/测试Delphi 6到XE,Unicode是为所有版本的Delphi准备的(它在内部使用UTF-8)。

通过使用此框架,您也可以轻松创建Delphi clients, using JSON data from the same server

尚未处理内部用户会话。因为有几种方法可以实现它们,并且由于我们的框架是RESTful的,因此它是无状态的:不需要会话。

如果您需要,我可以使用Cookie轻松添加HTTP会话。您期望的用户身份验证怎么样?

答案 1 :(得分:5)

DelphiMVCFramework执行此操作

一些值得注意的功能:

  • RESTful(RMM Level 3)兼容
  • 可以使用Redis(http://Redis.io)[dev]
  • 在负载平衡环境中使用
  • 带参数映射的精美网址
  • Specialied渲染生成文本,html,JSON
  • 将json映射到对象和数据集到对象的强大映射器
  • 可以打包为独立服务器,apache模块(XE6,XE7,XE8)和 ISAPI dll
  • 集成RESTClient可与XE3,XE4,XE5,XE6,XE7配合使用 和XE8完全经过单元测试
  • 每个功能都有一个样本
  • 有一套完整的培训,但是 样本包含在项目IOCP的实验支持中 [dev]
  • 服务器端使用eLua(Embedded Lua)生成的页面[很快就会删除]
  • 提供特定培训(询问我的日期和地点)
  • 使用STOMP(测试版)的消息传递扩展
  • 社区驱动(Facebook群组https://www.facebook.com/groups/delphimvcframework
  • 简单且有文件记录
  • 有关于框架的书籍

项目网站:https://github.com/danieleteti/delphimvcframework

N.B。我是主要的开发者

答案 2 :(得分:5)

也许这可以帮到你:

Delphi XE中的REST服务器使用DataSnap白皮书

了解如何使用Delphi XE中提供的功能构建REST服务器,如何使用额外的Delphi支持代码扩展它们以及如何利用jQuery库。

MarcoCantù

http://app.en25.com/e/er.aspx?s=608&lid=4414&elq=d428643420d2494581299418d9753feb

答案 3 :(得分:4)

我建议在Rails上使用Delphi,它是一个开源的REST / MVC / StateLess Web框架。

http://code.google.com/p/delphionrails/

使用:

  • superobject JSON解析器
  • UIB / Firebird JSON驱动程序
  • 开罗的SVG,PDF,PNG渲染
  • LUA for scripting / template ...

它能够使用Delphi 2010中引入的新RTTI将Delphi数据结构自动序列化为JSON。 XE。

答案 4 :(得分:0)

我会推荐Super Object Toolkit。

http://www.progdigy.com

示例代码:

procedure Share(ARequestInfo: TIdHTTPRequestInfo)
var
ReturnObject: ISuperObject;
begin
  ReturnObject := SO();
  ReturnObject.B['success'] := false;

  AResponseInfo.ContentType := 'application/json';
  AResponseInfo.ContentText := ReturnObject.AsJSon();
end;

答案 5 :(得分:0)

Daraja HTTP Framework,内部使用Indy,并为Servlet API的宽松启发而添加了用于“ Web应用程序上下文”和请求映射的高级API。

如果您已经拥有TIdHTTPServer的经验,则可以根据需要直接访问和调整服务器组件。

对于JSON,您可以在较新的Delphi版本或第三方库(例如JsonDataObjects)中使用内置的JSON支持。

免责声明:我是框架的开发人员