【问题标题】:Integrate Delphi ISAPI DLL into an ASP.NET web application将 Delphi ISAPI DLL 集成到 ASP.NET Web 应用程序中
【发布时间】:2009-08-12 12:27:28
【问题描述】:

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

因为我们同意保留 Delphi 代码并找到一种方法在 ASP.NET 应用程序和此 Delphi 代码之间进行通信,所以我们生成了一个 Delphi WebService,添加到 IIS 是一个 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 的信息,但我仍然无法弄清楚。

【问题讨论】:

    标签: c# asp.net delphi dll isapi


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 对不起,但你说我知道,我提到 Delphi DLL 是一个 WebService,我的第一个问题问是否有任何技巧可以在 ASP.NET 项目本身中使用它而不创建第二次安装(为其添加处理程序的脚本),第二个问题是是否有一种简单的方法,使用 pascal 最终得到一个 ASMX 文件。
    • 抱歉,我无法理解您想了解的内容。
    • easy :) 如何从 Delphi 代码输出 ASMX 文件? (这将解决我所有的问题)
    • P.S.只是重新编辑了我的问题,现在,我认为它有道理:)
    • 嗯,是的,你修改后的问题对我来说更清楚,而且似乎与原来的问题完全不同。
    猜你喜欢
    • 1970-01-01
    • 2010-12-05
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2016-11-25
    • 2020-12-27
    相关资源
    最近更新 更多