0

我们在 Delphi 中拥有所有代码,并且很难直接在 .NET 中创建新的ASMX / SVC 文件,因为它使用加密和奇怪的东西:) 因为转换和测试大约需要 2 周...

正因为如此,我们同意保留 Delphi 代码并找到一种在 ASP.NET 应用程序和此 Delphi 代码之间进行通信的方法,因此我们生成了一个添加到 IIS 的 Delphi WebService 是一个 ISAPI DLL。

我的第一个问题是:

我真的需要单独设置 IIS 并安装此 WebService,还是可以使用任何特殊技巧将其用作我的项目的一部分(就像 ASMX 文件一样)?

还有我的第二个问题,我很难提供有关如何将 pascal 转换为 .NET 的其他信息,因此我们可以使用 pascal 代码输出例如 ASMX ......我找不到任何东西可以做到这一点.

我们有 Delphi Studio 2009,它在几个文档中提到我们可以做 .NET(如何做?),还有用于 .NET 的 Delphi(我们在这里谈论的是 Delphi Prism 吗?)。

感谢你们!


将解决我的 2 个问题的新问题

如何从 Delphi 代码生成 ASMX(.NET Web 服务)或 SVC(.NET WCF 服务)?我正在阅读有关Delphi Prism的信息,但我仍然无法弄清楚。

4

1 回答 1

1

如果您有 ISAPI DLL,则它与 ASMX 或其他 ASPNET 工件分开安装。ISAPI DLL 安装在 IIS 管理器中。它可以是过滤器或扩展程序,并且是专门为它们安装的。

如果是扩展,那么它很可能是响应http请求的东西。如果这是真的,那么它将处理一组以特定后缀结尾的 URL。例如,可能会为所有以“.foo”结尾的请求注册一个 ISAPI 扩展,因此如果您勾选http://server/pagename.foo,该请求将由扩展处理。IIS7 将这些东西称为“处理程序”。

如果这个 Delphi 的东西是一个过滤器,那么它可能是一个将自己注入到每个http 请求中的东西,而不管最终处理请求的是哪个应用程序(ASPNET,其他东西),也不管请求上的扩展名如何。过滤器可以进行授权检查、身份验证、URL 重写之类的事情。您与过滤器交互的方式是通过服务器变量,或者......在某些情况下,如重写过滤器,过滤器的操作对“页面”逻辑是完全透明的。您可以忽略存在过滤器的事实。

使用授权过滤器,有时会在请求上设置授权厨师,您可以通过服务器变量获得。

于 2009-08-12T13:52:27.697 回答