问题标签 [webbroker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
347 浏览

delphi - 基本 XE7 webbroker 应用程序在 IIS7.5 中导致错误

使用向导在 IDE 中创建“基本”Webbroker dll。文件->新建->其他->网上经纪商。不对代码进行任何更改。将项目保存为 WebISAPI 并编译。

根据 Char Chee Yang 的优秀文章配置 IIS 7.5(在 Win7 上)以托管 dll

http://chee-yang.blogspot.com/2009/10/configure-windows-7-iis7-for-isapi-dll.html

在网络浏览器中访问应用程序: http://localhost/webISAPI/

数据快照服务器

启动 IIS 管理器。

选择应用程序池 -> 默认应用程序池 -> 在操作窗格中,单击回收。

发生未处理的 32 位异常

单击开始 -> 控制面板 -> 管理工具 -> 事件查看器,然后选择刚刚发生的事件。

错误应用程序名称:w3wp.exe,版本:7.5.7601.17514,时间戳:0x4ce7a5f8 错误模块名称:WebISAPI.dll,版本:1.0.0.0,时间戳:0x54f1df76 异常代码:0xc0000005 错误偏移量:0x000083e2 错误进程 id:0x1c34 错误应用程序启动时间:0x01d05445e9f37798 错误应用程序路径:C:\windows\SysWOW64\inetsrv\w3wp.exe 错误模块路径:\?\C:\Delphi Development\WebISAPI\Win32\Debug\WebISAPI.dll 报告 ID:34c84cee-c039- 11e4-b96a-001e101f63cf

有没有其他人遇到过这个问题,如果有,有什么办法可以解决吗?

谢谢

0 投票
1 回答
1801 浏览

delphi - 在 Delphi 中将非 ASCII 字符转换为 WebBroker 响应

我有一个带有 nvarchar 数据的 MS SQL Server 数据库,特别是一个带有“★ABC★”的数据字段。我的 Delphi 桌面应用程序显示它很好,但是来自我在 Delphi XE4 中使用 TDataSetTableProducer 生成响应的 WebBroker 应用程序的相同数据不起作用。这是基本的示例代码:

在网络浏览器中查看时,结果是“?ABC?”。我已经尝试了很多东西(包括 UTF-16 和在响应前面加上 Char($FEFF)),但没有任何帮助。这样做的正确方法是什么?

0 投票
0 回答
333 浏览

delphi - Webbroker ISAPI dll中的Delphi Seattle 10 TRESTRequest错误

我们有一个在 Delphi Seattle 10 中开发的 ISAPI webbroker 应用程序。它支持使用 SSO Azure 登录。

我们使用 TREST 组件来获取访问代码和图形数据。

它大部分时间都有效,但每天 1 或 2 次它会给我们这个错误:

REST 请求失败:打开请求时出错:(6)句柄无效

设置是:我们在 datammodule 中有 3 个其余组件

我们将 Rest Component 分配给一个类

然后我们有这个函数可以在 RESTRequestSSO.Execute 上发出警报;

知道为什么会发生这种情况,在 webbroker 应用程序中执行此操作不是一个好主意吗?

0 投票
1 回答
1021 浏览

delphi - 如何在 Delphi 中实现对“Web 用户会话”的支持?

在Web Applications中,“web user session”信息的获取是非常重要的,从“Delphi 6”到“Delphi XE5”,Delphi包含了WebSnap库,其中有一个名为SessionService的组件来支持“web user session”的管理信息。

由于 Delphi 不再有 WebSnap(在 XE6 中删除),我不知道如何使用 Delphi 在 WebBroker Applications 中实现对“Web 用户会话”的支持。

非常感谢你的帮助。

0 投票
1 回答
111 浏览

delphi - 编译器定义(例如 $CPUX86)在哪里定义?哪个文件夹/文件?

Webbroker 在我的 XE8 上生成的 .DLL 已停止工作。无论服务器(Microsoft Server 2011 或 Abyss Web Server),浏览器都会收到错误 500。两天前生成的.Dll 在两台服务器上都可以正常工作。

我安装了 XE10.1(直到现在才升级),并且在最简单的应用程序中也出现了完全相同的问题。Result.Content := '<p>Hello world</p>';崩溃。

我不知所措,想知道我的编译器的定义是否被某种方式篡改了。在停止工作之前我做的最后一件事是试用 IP*Works 组件,然后 Windows 进行了更新。没有别的我能想到的。

0 投票
1 回答
376 浏览

delphi - ISAPI webbroker requestcontentfields 为空(长度 = 0)

我使用向导创建了一个网上经纪服务应用程序。我更改了默认操作的代码,如下所示:

我在 IIS (6.2 - Server 2012) 下部署了 dll,并使用网络浏览器测试了 dll。

http://localhost/MapServer/Mapserver.dll/?param1=hello

只是为了好的措施,我试过了

http://localhost/MapServer/Mapserver.dll/?param1= “你好”

浏览器输出

数据快照服务器 xx0x

在这两种情况下。

似乎Request.ContentFields没有被来自浏览器的调用填充。

此问题是否特定于特定版本的 Delphi 和/或 IIS?我不明白什么?

西雅图和柏林我都试过了,结果是一样的。谢谢

PS 我还使用向导制作了一个独立的网上经纪商。它没有这个问题。

0 投票
1 回答
1161 浏览

windows - 将传统 Windows 服务迁移到 Service Fabric

我正在为 Windows Servers 的 Service Fabric 预览版踢轮胎: 创建和管理在 Windows Server 上运行的群集

我们正在尝试解决人们认为太多 Windows 服务无法手动管理的问题,我们正在考虑使服务更加自动管理的基础架构。我们目前在本地运行,因此我们正在寻找适用于 Windows 服务器的 Service Fabric,而不是 Azure 上的 Service Fabric。

我有一个在 Embarcadero C++ Builder XE7 中编译的本机 Windows 服务(Windows NT 服务),当前 /install 和 /uninstall 本身进入 Windows 服务控制管理器。该服务使用WebBroker绑定到端口以接收 HTTP 请求。当前正在从 Oracle 数据库中检索数据。它的范围很小,但在我看来还不足以调用微服务。

这些特定服务不使用控制台运行。它们通过 WinMain() 方法而不是 main() 运行。我们确实使用命令行参数来弹出一个运行服务进程的表单,以便于开发中的调试,但是如果在控制台上运行,这不会阻塞。

让这个应用程序作为来宾可执行文件启动和运行会涉及什么?项目是否需要重新编译为控制台应用程序才能在服务结构中运行?你预见到还有什么其他问题吗?

我知道这是一个预览版本,所以我承诺进行研究以更新答案,如果与 RTM 中的信息存在差异。

0 投票
2 回答
8747 浏览

delphi - 目标多字节代码页中不存在 Unicode 字符的映射

我有一个用 Delphi 2007 制作的肥皂,它可以工作!

在 Delphi 10.1 Berlin 进行转换后,我有很多例外:

目标多字节代码页中不存在 Unicode 字符的映射

原因似乎是,当 webbroker HttpApp 解析请求参数时,如果请求在查询字符串中有一些 url 编码的字符,它会引发此异常,例如:

事实上,如果我URL.Decode()%E0à url编码)调用:

它引发了同样的异常:

目标多字节代码页中不存在 Unicode 字符的映射

问题似乎System.NetEncoding在方法上TURLEncoding.DoDecode(const Input: string): string。此方法尝试仅在 UTF-8 中转换 url 编码的字符,而不在Windows-1252上进行任何回退。字符串%E0是 Windows-1252 编码à,但 delphi 只转换 UTF-8 版本:%C3%A0.

一个小的(不完美,不优雅)修复是添加一个后备:

完整代码:

经过大量搜索后,我找到了RAD Studio 10.1 Berlin 的错误修复列表,它说这个错误已修复:

Webbroker HttpApp 解析请求参数并收到错误“目标多字节代码页中不存在 Unicode 字符的映射”

但不适合我...

0 投票
0 回答
156 浏览

delphi - Spring4d 和 TWebBroker

(同样的问题存在于 Spring4d google group)

我有一个很大的疑问(这不仅仅是一个疑问,我有一些与线程相关的麻烦......):我正在使用 Delphi WebBroker 技术开发一个 Web 应用程序;Spring4D Container 的注册信息应该放在哪里?

  1. 在主应用程序核心?(我不知道它是否对 web 服务器有好处,比如 apache、IIS)
  2. 在 webmodule 的 OnCreate 中?(我已经在这里完成了我的工作,但我不知道这是不是一个好的做法。TContainer实例是webbroker的一个字段)
  3. 有什么建议吗?最后但同样重要的是:我在哪里销毁容器?现在我在 TWebModule 的 OnDestroy 中销毁它。

在此先感谢您的帮助。

涡流

这是 TWebModule 的一些代码: ... ...

0 投票
0 回答
400 浏览

delphi - Delphi Webmodule:TWebModuleList 发生了什么?

我的程序是使用 Delphi 2007 构建的 Delphi ISAPI DLL。我正在迁移到 Delphi 10.2 Tokyo,并且 TWebModuleList 从 Web.WebReq 中消失了。

在 D2007 中,当应用程序启动时,会调用以下代码来预实例化 5 个 WebModule 的池。

这样,不是按需创建(前 5 个)WebModule,而是在应用程序启动时创建它们,然后按需停用并自动激活。

我知道 WebModules 由 IIS 管理,我们不需要这种行为,但它就是它的工作方式(很好)。

自 Delphi XE8 以来,TWebModuleList 似乎消失了(docwiki.embarcadero.com 上没有页面,而 XE7 站点上仍然存在)。我找不到任何更改日志,或其他关于它为什么消失的信息以及我们如何建立相同的行为......

有没有人有任何信息?

谢谢