datasnap相关内容

Delphi XE2 DataSnap - 通过带有进度条的 TStream 下载文件

我编写了一个 DataSnap 服务器方法,它返回一个 TStream 对象来传输文件.客户端应用程序调用该方法并正确读取流.我的问题是在 TStream 对象可供读取之前,方法调用需要一段时间才能完成,但在服务器端,我可以看到方法调用只需要一秒钟来创建要返回的对象.我希望可以立即返回流对象,以便我可以读取流并显示下载进度的进度条.还有其他方法可以做到这一点吗? 服务器方法很简单: fun ..
发布时间:2022-01-07 20:36:27 其他开发

在TISAPIRequest(Delphi 10.1 Datasnap Server)上添加自定义标头

您知道如何在TISAPIRequest上手动添加自定义标头吗? 此类(或最通用的TWebRequest)没有公开RawHeaders属性,以允许在需要时添加新的自定义Header. PS:对于WebRequest是TIdHTTPAppRequest(Datasnap独立服务器)时,我有一个肮脏的解决方案,因为这样我就可以创建一个Helper类来访问其私有的FRequestInfo属性, ..
发布时间:2021-04-30 18:54:55 其他开发

Datasnap \ FireDAC:查询执行两次

我有以下问题: 1)我使用Delphi XE7开发了一个三层系统. 2)服务器层,使用REST使用datasnap创建. 3)我将Firebird用作数据库,并使用FireDAC进行访问. 4)我有一个值为 01 的序列. 5)我在服务器层创建了以下查询: 从rdb $数据库中选择GEN_ID(gen_my_sequence,1) 6)在服务器上返回查询中 ..
发布时间:2020-11-08 03:08:27 其他开发

在datasnap客户端中执行动态sql

是否可以在datasnap服务器和客户端之间共享数据库连接? 我想在客户端中执行动态sql并接收结果。 解决方案 我发现了两种在客户端执行动态sql的方法 1)使用DbxConnection(dbExpress) //服务器代码 函数TServerMethods1.GetConnection:TDbxConnection; 开始 结果:= DBConnection.D ..
发布时间:2020-10-20 18:56:55 其他开发

DataSnap和autoinc字段

我希望我的表具有autoinc字段,但是使用ClientDataSet对其进行插入会导致“字段必须具有值”错误。似乎Datasnap服务器不知道它应该自己生成一个并期望值。 对于该演示,我创建了一个仅包含2个字段的简单表:ID(autoinc)和DATE(varchar)。 数据库是SQLite。 过程TForm3.Button1Click(Sender:TObject); 开始 C ..
发布时间:2020-10-20 07:28:26 其他开发

陷入dbx DataSnap用户会话的消息循环

是否有办法挂接到dbx用户会话的WndProc? 背景: dbx DataSnap使用Indy组件进行TCP通信。以最简单的形式,DataSnap服务器是一个接受连接的Indy TCP服务器。建立连接后,Indy为该连接创建一个线程,该线程处理对该连接的所有请求。 这些用户连接中的每一个都消耗资源。对于同时具有数百个连接的服务器,这些资源可能会很昂贵。许多资源可以合并,但是我不想每次 ..
发布时间:2020-10-20 06:49:44 其他开发

在Delphi XE6中使用Datasnap流式传输TClientDataSet

我正在尝试使用Delphi XE6中的Datasnap流式传输TClientDataSet。但是,我一直在客户端代码上收到“缺少数据提供者或数据包”错误。 //客户端 过程TForm2.Button1Click(发送方:TObject ); var CDS:TClientDataSet; S:TStream; 开始 CDS:= TClientDataSet.Create ..
发布时间:2020-10-20 06:25:00 其他开发

REST Datasnap覆盖URI映射

我用delphi XE2中的REST数据快照编写了一个小型REST服务器。 HTTP方法(POST,PUT等)与delphi中定义的函数之间存在默认映射,这是由delphi组件完成的。 此Wiki条目描述了URI映射,但也请注意,默认映射可以被 可以覆盖映射模式。用户可以根据类名称和方法名称参数覆盖每种类型的映射。 但是我没有找到任何解释覆盖映射。 如何更改默认映射? ..
发布时间:2020-10-20 06:14:38 其他开发

如何将DataSnap客户端连接定向到各种DS Server?

我有一个相当大的DataSnap服务器,它将全天候运行24/7,它将替代当前正在运行的MIDAS(COM)服务器。现在,我面临的问题是如何更新该服务器而不必强制断开所有已连接的客户端。 使用当前的Midas服务器(顺便说一下, (没有大量的服务),我只是等到没有连接,然后关闭服务器应用程序并替换为exe文件。如果在服务器“关闭”(作为COM对象)时发生了新连接,则操作系统将“拉起”该连接,而 ..
发布时间:2020-10-20 06:03:26 其他开发

从Delphi客户端将JSON数据发布到RESTful Datasnap服务器

我需要将一个简单的JSON对象从Delphi客户端发送到Restful数据快照服务器(Delphi)。我正在使用Delphi XE。有人可以帮我解决代码问题吗?我正在尝试几个小时,但没有得到..请询问详细信息是否不够 编辑: 这是服务器端方法声明: 过程updatemethodnme(str:string):string; 这是客户端代码: functio ..
发布时间:2020-10-20 04:56:59 其他开发

如何从已处理/捕获的异常中获取堆栈跟踪并将其转储到跟踪日志中

我们已经以Bob Swart的白皮书为指导,创建了一个Datasnap服务(使用Delphi XE)。它工作正常,我们已经将其部署到测试服务器。 现在,当我们执行大量请求(通过JMeter)时,出现了一个问题发生某种内存损坏。有些请求成功,有些则失败,并带有访问冲突。最后,它变得如此损坏,以至于对我们的OWN方法(不是DSAdmin方法)的每个请求都以访问冲突作为响应。 但是,由于无法 ..
发布时间:2020-10-20 04:26:46 其他开发

如何为本地网络上的独立Datasnap Rest Server创建/安装SSL证书

我不熟悉SSL和证书采购,这是我尝试使用https / ssl制作的第一台datasnap服务器。 我有一个独立的Datasnap服务器(XE4),并且我想创建或获取可以与之配合使用的SSL,以便对其余通信进行加密。 如何获取合适的SSL? 我可以购买吗? 最终我想使用端口转发将其余查询从Internet传递到我的本地托管服务器。 谢谢, Mark 解决方案 请先从 ..
发布时间:2020-10-20 03:59:07 其他开发

Delphi XE – Datasnap过滤器问题

我有一个使用PC1和Zlib过滤器的tcp / ip Datasnap -XE服务器 在客户端上,这两个过滤器均在DataSnap TSqlConnection中定义 当客户端连接到服务器时,我会收到“连接已正常关闭” 错误消息 如果我仅使用PC1过滤器-没问题 如果我仅使用Zlib过滤器-没问题 关于如何使两个过滤器同时工作的任何想法吗? 解决方案 直到 ..
发布时间:2020-10-20 03:44:39 其他开发

Delphi DataSnap框架向JSON消息添加内容

我正在使用Delphi XE DataSnap REST服务器,并尝试返回JSON序列化对象。我的方法返回到客户端的结果如下: {“ type”:“ ServerMethodsUnit1.TJSONIssue”, “ id”:1, “ fields”:{ “ FIssueNo”:90210, “ FTitle”:“比佛利山庄...那是我想要的地方be“, ” FKind“:”收藏夹“ } ..
发布时间:2020-10-20 03:43:56 其他开发

Delphi XE3 DataSnap Server中的访问请求标头

我正在Delphi XE3中实现REST服务器API(大约十年来第一次使用Delphi,所以有点生锈)。当前,它使用Indy服务器进行调试,但最终它将是ISAPI dll。 现在,我已经实现了许多TDSServerClass类,并且想要访问请求标头类方法中。因此,例如,当用户请求mysite.com/datasnap/rest/foo/bar时,我希望能够读取名为bar的foo类方法中的标头 ..
发布时间:2020-10-20 02:39:07 其他开发

加载midas.dll时Midas.dll错误

当我在没有Delphi的另一台计算机上尝试我的应用程序时遇到问题。 如果我将midas.dll放在System32的同一文件夹/目录中,我总是得到错误消息加载midas.dll时出错,但是如果我将midas.dll放在桌面上,则错误消息不会出现并且应用程序可以正常运行。 如何处理midas.dll,这样我可以将其放置在同一文件夹中? 解决方案 从命令行键入: regsv ..
发布时间:2020-10-20 02:30:29 其他开发