uniGUI执行程序部署有3种形式

1、ISAPI模式

部署在IIS或Apache,程序编译为Dll形式,没有试,准备后续专门测试一下。

2、标准执行文件模式

将软件编译成一个独立的Exe文件,包括了WEB服务和业务内容,是uniGUI部署方式中最简单的一种。该方式最大特点是可以进行代码跟踪,同一般exe程序调试一样,在Debug模式下程序调试非常方便。运行exe后就可以直接打开页面进行测试,通过任务栏上的图标可以打开服务监控页面,监控服务程序的运行情况,如下图:

3、Windows服务模式

将软件编译成Windows下的Service模式,并自动启动。从工程文件上看,与一般的程序工程文件略有差异,这里不详述。另外工程中增加了一个ServiceModule.pas文件和对应的窗体文件,该模块单元定义了Windows Service的一些属性,包括名称、依赖等,我只修改了DisplayName属性,其他属性都采用缺省。

特别需要注意的是:不要尝试修改该文件的文件名和模块类名,否则系统无法识别,编译能通过,但运行时报无法启动,估计是内部代码上写死了。

注册Service的方式同一般的Windows Service程序,通过命令行加 –install参数,注销用 –uninstall参数,如下:

MyServiceApp –install

MyServiceApp -uninstall

启动用命令行,如下:

net start UniServiceModule

UniServiceModule就是模块的类名不要前缀T

在实际应用中,我采用了2个工程,一个是标准执行文件模式,Debug+Win32,用于程序调试,另外一个工程采用Windows Service模式,Release + Win64,用于部署运行。在少量客户端(<5个)情况下,运行效果非常不错,我打开一个2万条记录的表,按照50条/页进行分页显示,从数据获取到第一页数据展示,本地大约在3~4秒之间,云服务器(带宽 10M,实际检测复制文件时<200KByte/秒)上大约在6~7秒,获取第二页数据大约需要1秒。

最关心的是该服务程序在较多客户终端(300~500个)情况下的性能,按照作者的话说是不取决于程序,而取决于服务器硬件条件。拟在近期用WinRunner做个测试,看看具体效果,主要是ISAPI 和 Windows Service两种模式的性能。

uniGUI试用笔记(九)uniGUI执行程序部署有3种形式1的更多相关文章

  1. uniGUI试用笔记(九)

    uniGUI执行程序部署有3种形式 1.ISAPI模式 部署在IIS或Apache,程序编译为Dll形式,没有试,准备后续专门测试一下. 2.标准执行文件模式 将软件编译成一个独立的Exe文件,包括了 ...

  2. uniGUI试用笔记(十三)调用WebService

    今天尝试用uniGUI做Web服务器,调用应用服务器的WebService,遇到些问题记录下来备忘. 1.对WebService的调用同一般App程序,只是注意如果WebService的执行时间较长, ...

  3. uniGUI试用笔记(二)

    前几天做的demo今天启动后,浏览器打开页面后死活不显示窗体,找了半天原因才发现是360浏览器启动了兼容模式,改成极速模式后就正常了.有点晕.... 今天简单测试了TUniGUIServerModul ...

  4. uniGUI试用笔记(十一)

    最近研究了一下UniGUI的TuniDBGrid,记录一下免得忘记了. TuniDBGrid的重要属性包括: 1.列—TUniDBGridColumns和TUniDBGridColumn 每个列对象( ...

  5. uniGUI试用笔记(十)

    今天用LoadRunner对uniGUI的Standalone模式的程序进行了一次压力测试,程序采用三层模式,将应用服务器与Web服务器分离,由于条件限制,数据库.应用服务和Web服务都部署在同一条云 ...

  6. uniGUI试用笔记(八)

    在业务系统中常常使用回车键(Enter)替代Tab键完成焦点跳转,在uniGUI下,可以不用代码,直接使用TUniForm的NavigateKeys进行设置: 其中Next和Prior决定了焦点向下一 ...

  7. uniGUI试用笔记(七)

    uniGUI的文件下载由于TUniSession的存在而变得非常简单,最典型的一个例子就是将列表中的所有数据导出到Excel中.服务器上采用TMS FlexCel控件,先将数据集中的记录导入到Exce ...

  8. uniGUI试用笔记(六)

    uniGUI提供了一个文件上传控件TUniFileUpload,进行数据的导入就变得比较容易.首先将TUniFileUpload控件放置在窗体上,按下导入按钮后,执行TUniFileUpload的文件 ...

  9. uniGUI试用笔记(五)

    uniGUI的主窗体可以采用多页面方式进行管理,参考网上的资料,都是用TUniFrame + TUniPageControl 来实现,尝试了一下,效果还不错,如下图: 用TUniFrame 能够使用继 ...

随机推荐

  1. ORA-10618: Operation not allowed on this segment 执行存储过程权限需声明

    执行SHOW_SPACE存储过程时只能在DBA角色下成功,在NORMAL角色用户下报错: ORA-10618: Operation not allowed on this segmentORA-065 ...

  2. linux下set命令的参数及用法

    linux  set 命令 功能说明:设置shell. 语 法:set [+-abCdefhHklmnpPtuvx] 补充说明:用set 命令可以设置各种shell选项或者列 出shell变量.单个选 ...

  3. 结对编程--fault,error,failure

    结对编程对象:叶小娟 对方博客地址:http://www.cnblogs.com/yxj63/ 双方贡献比例:1:1 结对照片: 结对题目:输入一定个数的数字,对其排序后输出最大值.   1 pack ...

  4. 超薄二维Mo2C晶体

    记者今天从中国科学院金属研究所获悉,该所沈阳材料科学国家(联合)实验室先进炭材料研究部任文才研究组在大尺寸高质量二维过渡族金属碳化物晶体的制备与物性研究方面取得了重要突破.相关成果日前在<自然— ...

  5. 清明梦超能力者黄YY(idx数组)

    清明梦超能力者黄YY https://www.nowcoder.com/acm/contest/206/I 题目描述 黄YY是一个清明梦超能力者,同时也是一个记忆大师.他能够轻松控制自己在梦中的一切, ...

  6. iOS9 UIWindow rootViewController

    在iOS9中App被其他应用唤起的时候Crash,正常启动或者调试模式都不会Crash. 通过XCode - Window -Device,查看设备的log,如下 Assertion failure ...

  7. css菜鸟学习之text-align属性,行内元素,块级元素居中详解

    一.text-align属性 1.text-align用来设置元素中的的文本对齐方式,例如:如果需要设置图片的对齐方式,需要设置图片的父元素的text-align属性: 2.text-align只对文 ...

  8. AasyncTask中执行execute()还是executeOnExecutor()

    executeOnExecutor()api 11 才出现的 并行的 效率比execute()高因为execute()是串行的 import android.app.Activity; import ...

  9. ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型

    今天遇到varchar2类型数据不够大,需改为clob类型.Oracle中,如果一个列的类型为varchar2,那么它不能直接转换为clob类型.可以通过间接的方式来修改. 就是把原来的字段删掉,重新 ...

  10. Qt中使用python--Hello Python!

    step1:install Python (version 2.7 or higher): step2:The configuration is as follows: 1.create qt con ...