问题标签 [isapi-extension]

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 投票
3 回答
9080 浏览

iis-7 - ISAPI 扩展在 IIS7 上给出 404

我正在运行 Windows 7 64 位并尝试加载我正忙于在本地 IIS7 机器上编写的 ISAPI 扩展。

  • 我在“ISAPI 和 CGI​​ 限制”下将位置添加到 DLL
  • 我让应用程序池识别 32 位应用程序(扩展是用 Delphi 编写的)
  • 我确保“每个人”都对目录/dll 具有完全权限
  • 我确保在“处理程序映射”部分中“允许”ISAPI-dll 并将其设置为“读取/脚本/执行”权限

我仍然在 IIS7 中收到 404.0 错误

我检查了我的 MIME 映射是否设置为处理 *.dll,并且我在同一台机器上的不同站点上运行了一个完美运行的 ISAPI 扩展。

我什至采用了这个给我 404 的 ISAPI 扩展并将其放在工作网站的根目录(另一个 DLL 所在的位置),并将“ISAPI 和 CGI​​ 限制”重新映射到它。仍然给我 404.0,即使我可以同时或之后直接运行另一个 DLL,这很好。

知道 WTF 正在发生吗?

0 投票
2 回答
457 浏览

delphi - 从 Delphi TISAPIApplication 获取端口/URL 数据:

*) 我有一个在 IIS 7.5 - Server 2008 R2 下运行的 Delphi XE ISAPI dll。DLL 启动 TISAPIApplication 的一个实例。该应用程序驻留在一个谨慎的、固定的、预定的 URL 上,并在特定端口(不是端口 80)上侦听请求——所有这些当然是“标准配置”。

*) 在我的服务器上,我有几个 dll,每个 dll 启动不同的 TISAPIApplication 实例,映射到不同的 URL,并侦听不同的端口。在运行时,我根据端口号(比解析 URL 更容易)区分应用程序的各种实例(Dev、Prod、FailOver 等)。

*)我查看了 TISAPIApplication 及其祖先和关联类的文档和源代码,但我在任何地方都找不到告诉我应用程序的特定实例正在侦听哪个端口的属性 - 端口似乎是仅在逐个请求的基础上提供。在我看来,由于在简单部署中侦听端口通常是静态的,我应该能够在应用程序启动时获取该端口值 - 这将有助于分配某些资源,而不是等待请求进入等。

*)有人知道怎么做吗?我需要抢夺什么财产,从哪里抢夺?事实上,我根本找不到任何可以告诉我有关应用程序本身所在的 URL 的任何信息 - 一切似乎都在每个请求的基础上工作。

(请 - 我不是在寻找解决方法来告诉我如何通过请求来完成它,或者 HTTP 是无状态的,并且一切都基于每个请求进行 - 我知道这些解决方法并且不想使用它们。而且,虽然线程由 ISAPI 生成以以“无状态”方式处理请求,当 IIS 加载 ISAPI dll 时启动 TISAPIApplication 实例,并且此 TISAPIApplication 实例在 ISAPI 应用程序的整个生命周期内持续存在,并包含在生命周期内有效的状态信息应用程序实例)。

TIA

0 投票
0 回答
122 浏览

wcf - 是否可以从 WCF 向您的 ISAPI 扩展发送消息?

感谢您抽时间阅读。我是 IIS/WCF 的新手,对它的功能有疑问。

我们想在我们的 IIS 中放置一个 ISAPI 扩展,以根据一些静态数据将请求路由到不同的服务器/服务。当 IIS 启动并运行 ISAPI 扩展时,它会访问 WCF 以检索有关哪些服务器处于活动状态以将各种请求路由到的信息。我的问题是,如果更改了这些数据,并且重新启动了 WCF……有没有办法可以将更新的数据从 WCF 发送到 IIS 以更新我的 ISAPI 扩展中的数据?

任何有关这方面的帮助或信息将不胜感激。

谢谢!

0 投票
1 回答
584 浏览

java - 如何使用 HttpURLConnection 从 ISAPI dll 读取原始 http 响应

我的要求是从使用 Java 托管在 IIS 中的 ISAPI dll 发送和接收 HTTP 请求和响应。我们的 ISAPI dll 发送原始 xml 数据作为没有 http 标头的响应,因此当HTTPURLConnection.getinputstream()从客户端调用时,我遇到了UnknownLengthHttpInputStream异常。我可以HTTPURLConnection用来读取没有标头详细信息的 http 响应数据,还是应该使用套接字来读取客户端中的响应?

任何帮助表示赞赏。

谢谢。

0 投票
2 回答
2715 浏览

delphi - 未能在模块 DLL 中找到 RegisterModule 入口点... - 这是怎么回事?

我有一个用 Delphi XE 编写的 ISAPI 模块(本机 - 没有 ASP.net 等)。尝试在 Win 7 64 企业台式机上的 IIS 7.5 上运行它。

应用程序池、网站等配置正确,ISAPI 模块被允许执行,经典管道、32 位等 - 已多次执行这些操作。

相同的模块在 Win 2008 R2 服务器上运行良好,它也用于在我的 Win 7 桌面 IIS 7.5 上运行。

但是我的硬盘上周坏了,我得到了一个新的 Win 7 安装 - 标准公司范围的 Win 7 Enterprise 映像(与我之前的 Win 7 64 安装不同)。

现在启动模块时,浏览器会挂起,然后返回“HTTP 错误 503。服务不可用”。在 IIS 中,我看到我的应用程序池在错误发生后停止 - 我知道这意味着 Web 应用程序中发生了严重错误。

在 Windows 事件日志中,我发现了这条消息:

“未能在模块 DLL G:\Mikey.dll 中找到 RegisterModule 入口点。数据为错误。”

在 DLL dpr 中调用 application.run 后,一些调试字符串向我显示了错误表面。

这里发生了什么?我怎样才能解决这个问题?我的开发工作需要这个部署。

请 - DLL 已获得执行代码的正确权限,并且应用程序池已正确配置 - 我的大量初始化代码在调用 application.run之前在 DLL 中执行- 所以这不是一个简单的配置或权限问题 - 503 错误并且事件日志条目也表明了这一点。

0 投票
1 回答
1076 浏览

visual-c++ - 如何在 VS 2005/2008 中创建 ISAPI 过滤器

在 VS 6.0 中,我们可以选择项目类型为 VC++ 下的 MFC ISAPI Extension Dll,然后将其配置为过滤器对象。我们如何在 VS 2005/2008 中实现这一点?

0 投票
1 回答
576 浏览

asp.net - 用于多租户的 ASP.NET 虚拟目录的替代品

我正在使用 ASP.NET 4.5 开发 ASP.NET WebForms 应用程序

该应用程序具有多租户支持。每个租户都有一个自己的 URL,例如:

http://myApplication.net/DemoTenant1/

在 Login.aspx 中非常简化,应用程序调用此方法并将此 URL 转换为内部 ID。

现在的问题是,我们有 200 多个租户,我们需要为每个租户定义一个 WebApplication,它是

  • 一堆工作:-)
  • 可能非常低效,因为每个租户都有自己的工作进程被打开

我正在寻找一个与旧 URL 保持兼容的智能替代品。

我正在寻找如何通过 URL 路由解决此问题的想法,或者将 WebForms 与 MVC 混合并添加登录控制器?

也对其他想法持开放态度......

0 投票
1 回答
696 浏览

iis-7 - II7:ISAPI 通配符扩展生成 500 错误 (0x8007007f)

我在 Windows 7 上使用 Visual Studio 2012 编写了一个 ISAPI 扩展,这是一个非常简单的直通通配符扩展。当编译为 32 位并且应用程序池设置为允许 32 位应用程序时,过滤器运行良好。但是,当我编译为 64 位(并将池更改为不允许 32 位)时,我收到代码 0x8007007f 的 500 错误。64位取决于显示全部绿色。事件日志中没有错误。我尝试将 DLL 移动到 C:\Windows\System32,但遇到了同样的错误。任何帮助将不胜感激。

谢谢

马克

0 投票
2 回答
87 浏览

windows-ce - 用于无扩展 URL 的 Httpd 的 ScriptMap

有一种方法可以配置 Windows CE HTTPD 服务器,以便它为定义的文件扩展名(例如,“.asp”)加载一些定义的 ISAPI 扩展名(例如,asp.dll)。

让它为 URL 中的无扩展名文件名加载一些 ISAPI 扩展的最简单方法是什么?

0 投票
2 回答
405 浏览

delphi - 存储 ISAPI 扩展参数

我在 Delphi 中创建了一个 ISAPI 扩展,它工作得很好,但我想知道是否有关于如何存储配置设置的最佳实践?我可以想出很多方法来做到这一点,但我当然想以最好的方式做到这一点。我可能查看了所有错误的地方,但我找不到任何可以帮助我的东西......

与 dll 位于同一目录中的 ini 或 xml 文件是一种好方法吗?还是使用windows注册表?或者是否有可能(并且明智)将特定于 ISAPI 扩展的配置放在 web.config 中,从而利用 IIS 管理器进行配置?或者是其他东西?