datasnap的restful服务器
说真话,这玩意真的简单好用。但你要控制好:
1、内存泄漏和异常处理好;
2、有没有发现,通过服务器对数据库进行读写时,在资源管理器中,如果是sql server,就会看到连接1433的连接一直挂在那里。好闹心。
说主题:因为采用get or post链接,将LifeCycle设置为'Invocation'。每次客户端获取数据时,就会产生读写数据库。在DSServerModuleDestroy的方法中加上
try
FDManager.Active := False;
// FDConnection1.Connected := False; // 尝试关闭数据库连接 一定要关闭,否则连接一直存在
// FDManager.Active := False; // 尝试停止 FireDAC 管理器 一定要关闭,否则链接时会出错
except
on E: Exception do
begin
if Var_Log then
PostLog(llError, 'Error closing connections or manager: ' + E.Message);
end;
end;
if Var_Log then
begin
PostLog(llHint, 'FDConnection:close');
end;
如此简单,就会在资源管理器TCP中,再也看不到1433的链接了。

GOODLUCK!!!
补充:
在TServerContainer中,不要随随便便增加方法。
procedure TServerContainer.DSServerClass1DestroyInstance(
DSDestroyInstanceEventObject: TDSDestroyInstanceEventObject);
begin
if Var_Log then
begin
PostLog(llHint, 'DSDestroyInstanceEventObject.free');
end;
end;
就因为增加了追踪日记,导致流程跑偏了。
自以为聪明,在这里又追加执行DSDestroyInstanceEventObject的Destroy。晕透了。记得有人提出这个体会:不要随随便便增加代码,不要随随便便和陌生人说话
datasnap的restful服务器的更多相关文章
- WCF Restful 服务器配置文件
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSec ...
- UE4 WCF RestFul 服务器 读取JSON 数据并解析 简单实例
Note:不知道为什么通过Txt读取的JsonString,如果TXT 不是ANSI编码的话,会报JsonArrayStringToUStruct Unable to parse. bool UWg ...
- Jersey搭建Restful服务器 on Ubuntu
自己试着在Ubuntu上搭建一个 1.首先安装eclipse和tomcat sudo apt-get install eclipse tomcat7 -y 2.把tomcat的group assign ...
- AngularJS Resource:与 RESTful API 交互
REST(表征性状态传输,Representational State Transfer)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格.RESTful风格的设计不仅 ...
- DataSnap 2009 系列之三 (生命周期篇)
DataSnap 2009 系列之三 (生命周期篇) DataSnap 2009的服务器对象的生命周期依赖于DSServerClass组件的设置 当DSServer启动时从DSServerClass组 ...
- 【转】基于CXF Java 搭建Web Service (Restful Web Service与基于SOAP的Web Service混合方案)
转载:http://www.cnblogs.com/windwithlife/archive/2013/03/03/2942157.html 一,选择一个合适的,Web开发环境: 我选择的是Eclip ...
- C# 服务端篇之实现RestFul Service开发(简单实用)
一.RestFul简介 REST(Representational State Transfer 通常被翻译为“表述性状态传输”或者“表述性状态转移”)是RoyFielding提出的一个描述互联系统架 ...
- 黄聪:AngularJS中的$resource使用与Restful资源交互(转)
原文:http://blog.csdn.net/he90227/article/details/50525836 1.AngularJS中的 $resource 这个服务可以创建一个资源对象,我们可以 ...
- Restful Web Service初识
一.Web Services Web Services 是一种基于组件的软件平台,是面向服务的Internet 应用.Web Services 框架的核心技术包括SOAP ,WSDL 和UDDI ,它 ...
- 3.2 配置构建Angular应用——简单的笔记存储应用
本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...
随机推荐
- Solution -「ROI 2018」「LOJ #2850」无进位加法
\(\mathscr{Description}\) Link. 给定 \(\{a_n\}\),每次令某个 \(a_i\leftarrow a_i+1\),最终得到 \(\{b_n\}\),求 ...
- yolov5输出解码实现
yolov5输出解释--以yolov5s.pt为例 写在前面.这几天在用Tensort部署一个工训赛检测圆环的模型,发现输出怎么都对不上,通过查阅各方资料,便有了这篇文章,希望能帮助到大家 输出维度 ...
- flutter真机调试出现flutter Launching 'app' on No Devices.
1. flutter真机调试出现flutter Launching 'app' on No Devices. flutter Launching 'app' on No Devices. 我的是华为手 ...
- 亮相CCF中国软件大会,天翼云助力千行百业搭上“数字快车”
中国软件领域规模最大.影响最广的学术会议--CCF中国软件大会(ChinaSoft 2023)在上海国际会议中心开幕.CCF理事长.大会执行委员会荣誉zhu席.中国科学院院士梅宏,上海市经济和信息化委 ...
- 基于Linux系统的PXE搭建方法
本文分享自天翼云开发者社区<基于Linux系统的PXE搭建方法>,作者:t***n 一.底层环境准备 1.安装RedHat7.6系统 2.关闭防火墙和Selinux systemctl s ...
- Celery异步分布队列
Celery分布式任务队列 一.Celery介绍celery periodic task Celery 是一个基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的 ...
- Django Rest Framework的使用
Django Rest Framework 一.Rest Framework的基本介绍 程序的客户端有很多:硬件设备,游戏,APP,软件,其他的外部服务端. 1. Web应用模式 在开发Web应用中, ...
- Python 数
Python 数 在Python中,数字是编程中不可或缺的一部分.Python支持多种类型的数字,包括整数.浮点数等.下面我们将详细介绍这些数字类型以及它们之间的运算和格式化. 整数 整数是Pytho ...
- Flink-cdc同步mysql到iceberg丢失数据排查
一.获取任务信息 任务id:i01f51582-d8be-4262-aefa-000000 任务名称:ods_test1234 丢失的数据时间:2024-09-16 09:28:47 二.数据同步查看 ...
- 用户信息授权报错“无效的AppID参数”问题排查解决过程
今天记一个支付宝报错"无效的AppID参数"的问题排查解决过程,希望可以帮到大家. 报错产生 今天在测试支付宝用户信息授权 换取授权访问令牌 的时候,遇到了一个报错:"无 ...