创建NT服务形式的MySOAPService.exe
首先完成前面的服务程序,因为需要用到前面的源代码,然后按下面步骤进行:
点菜单File --> New --> Other,在new标签面板中选择Service Application图标,点OK
在Service1窗口中,按F11激活对象观察器,选择Properties页,将Name属性从Service1改为MyService。
点击菜单Project --> Add To Project,选择前面建立的文件MyWebModuleU.pas点OK
同样操作加入文件MySOAPWebServiceIntf.pas和MyAppServerSoapDataModuleU.pas。
点菜单View --> Project Manager,打开工程管理器,展开Project(n).exe,展开Unit1,
双击Unit1.pas,在interface部分uses加入IdHTTPWebBrokerBridge。
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, IdHTTPWebBrokerBridge;
private FWebBrokerBridge: TIdHTTPWebBrokerBridge;
{$R *.DFM} uses MyWebModuleU;
双击OnStart事件,ServiceStart过程中加入下面代码:
// Create server. FWebBrokerBridge := TIdHTTPWebBrokerBridge.Create(Self); // Register web module class. FWebBrokerBridge.RegisterWebModuleClass(TMyWebModule); // Set default port. FWebBrokerBridge.DefaultPort := 1024; // Start server. FWebBrokerBridge.Active := True;
同样在OnStop事件的ServiceStop方法中加入下面代码:
// Stop server. FWebBrokerBridge.Active := False; // Free server component. FreeAndNil(FWebBrokerBridge);
Unit1 命名为MyServiceU.pas
Project(n)命名为MySOAPService.dpr
点菜单Project --> Build MySOAPService.
注册Windows服务:
点菜单Run --> Parameters,在Parameters中输入: /install,点OK
点菜单Run --> Run.(应该会提示服务安装成功),再点OK
点菜单Run --> Parameters,将参数清空,点OK
按Ctrl-Shift-S组合键保存所有。