问题标签 [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 投票
2 回答
5118 浏览

iis - 如何在 .NET 和 CF 下运行 IIS 5.1 (WinXP Pro) 下的经典 ASP 脚本?

我在设置开发环境时遇到问题。我一直在研究 ColdFusion 和 .NET 应用程序,直到最近我才需要接触 IIS。现在,我必须为一些一次性工作设置一个经典的 ASP 应用程序。

我在 IIS 中添加了一个虚拟目录,并将其指向我本地机器上的实际代码库。然后我将安全性设置为低(对于 ISAPI 扩展,即 ASP)并允许脚本执行。但是,由于某种原因,如果我点击任何 .asp 页面,它会说找不到该页面。但是,HTML 和静态文件加载得很好。

编辑: URLScan 修复似乎已经做到了。在另一个浏览器(即不是 IE6)中启动了应用程序,我得到了更好的错误报告。看起来我们缺少一些包含,但它正在执行脚本。谢谢!

0 投票
3 回答
901 浏览

c++ - 选择一个 SOAP 库来与 ISAPI webapp 集成

我工作的公司有一个用 C++ 编写的大型 web 应用程序作为 ISAPI 扩展(不是过滤器)。我们目前正在增强我们的系统,以便与几个具有 SOAP 接口的第三方工具集成。与其自己动手,我认为最好使用一些 SOAP 库。理想情况下,它将是免费和开源的,但具有与闭源商业软件兼容的许可证。我们还需要为传入和传出的 SOAP 消息支持 SSL。

我最担心的一个问题是,我看过的每个 SOAP 库似乎都有两种操作模式:独立服务器和服务器模块(Apache 模块或 ISAPI 过滤器)。显然,我们不能使用独立服务器。在我看来,如果它作为一个模块运行,它就不会成为我应用程序的一部分——它无法访问我的其余代码,因此它无法共享数据结构等. 这是一个正确的假设吗?我们的应用程序处理的每个 HTTP 请求都由一个单独的线程处理(我们管理自己的线程池),但我们有许多在这些线程之间共享的持久数据。我认为我正在寻找的集成类型是将一些代码添加到我的应用程序中,该代码查看请求 URL,发现它正在尝试访问 SOAP 服务,并调用诸如soapService 之类的函数。处理请求()。我不知道有什么东西可以提供这种集成。我们必须能够在 SOAP 处理函数中使用来自主应用程序的数据结构。

除了处理传入的 SOAP 请求,我们还将生成它们(与第 3 方的双向通信)。我认为几乎任何 SOAP 库都可以实现这个目的,对吧?

任何人都可以建议一个能够做到这一点的 SOAP 库,或者就如何使用不同的范例提供建议吗?我已经研究过 Apache Axis2、gSOAP 和 AlchemySOAP,但也许其中有一些我忽略了的特性。谢谢。

0 投票
1 回答
355 浏览

c++ - ISAPI 扩展:TerminateExtension 和扩展析构函数有什么区别?

TerminateExtension() 和扩展析构函数之间有区别吗?显然两者都用于清理资源,但是应该在一个函数中而不是在另一个函数中进行哪种清理?

0 投票
1 回答
835 浏览

c# - 在 Visual Studio 开发服务器中使用 ISAPI 筛选器

我正在尝试让当前的 Web 应用程序在我的本地计算机上运行,​​以用于开发目的......以前的开发人员突然离开并且没有记录任何内容。

基本上,它使用一个 ISAPI 过滤器,安装到 IIS 中进行一些 url 重定向......这很好,但是,我想在我的本地开发机器上设置它......我该怎么做呢?这样当我按下 f5 时我的项目就会运行......

在不久的将来,我可能最终会使用 httphandler 或其他东西。

0 投票
1 回答
458 浏览

iis-7 - 如何更新 Http 请求并将其发送到另一个 Web 服务器

以下是我们的环境设置:

IIS 7 接收来自客户端(浏览器)的 Http (.jsp) 请求。它使用 ISAPI_Redirect.dll 将其盲目地重定向到 JBoss。

现在我们正在尝试修改此设置,以便在 IIS7/ISAPI_redirect 将其发送到 JBoss 之前,我们需要使用 Http 模块修改发布的表单数据。这个 http 模块是普通的 .net http 模块。

我们能够拦截 http 模块的请求@BeginRequest 事件,当我们将其发送到 JBoss 时,它给我们“读取客户端失败(400)”错误。

知道如何完成这项任务或解决手头的问题吗?

0 投票
0 回答
1792 浏览

iis-7 - 在 IIS7 中以编程方式安装 ISAPI 扩展

我想以编程方式在 Windows7 上的 IIS7 中安装 ISAPI 扩展

(控制面板->程序和功能->打开或关闭Windows功能->IIS->WWW->应用程序开发功能->ISAPI扩展)。

基本上我想通过以下 DISM 命令实现我可以做的事情

dism /online /Enable-Feature /FeatureName:IIS-ISAPIExtensions

我尝试使用 Microsoft.Web.Administration,以下是代码

它确实更新了 applicationHost.config。当我比较使用我的代码更新的 applicationHost.config 和使用 DISM 更新的相同时,它们几乎相同。唯一的区别是,上面的代码没有在模块部分设置“lockItem=true”,因为这样写会出错。但我认为应该没关系。

但是上面的代码没有安装该功能,而 DISM 可以。有什么区别 ?

我做了另一个测试。

1) 使用 DISM 启用 ISAPI 扩展 2) 保存 applicationHost.config 的副本 3) 使用 DISM 禁用 ISAPI 扩展 4) 使用保存的副本早期覆盖 allicationHost.config

它不安装 ISAPI 扩展功能。所以 DISM 不仅更新了 applicationHost.config,还做了更多的事情。那么它有什么作用,我如何以编程方式实现相同的目标?

0 投票
1 回答
158 浏览

c++ - Isapi 过滤器 - 状态

我有一个 isapi 文件管理器,我想添加一个基于传入域的逻辑(我的服务器场托管许多域)。域列表是动态的,我可以将这些域列表导出到文本文件并从 isapi 读取,但是有没有办法将此文件保存在内存中(数组或链表)以保存 IO 调用。类似于全局应用程序状态。

0 投票
1 回答
771 浏览

c++ - IIS ISAPI 扩展 + 如何修改 HTTP 响应正文

在 IIS6 上,我知道 ISAPI 过滤器可以轻松做到这一点,但我正在尝试在 ISAPI 扩展中做同样的事情。

我想让 IIS 处理请求,但能够在响应中附加一些字符串。

是否有一个回调可以让我在发送之前修改 http 响应?

如:

客户端请求:index.html ISAPI 扩展被调用,并将请求转发到 IIS:HSE_REQ_EXEC_URL ISAPI 扩展被再次调用,响应,修改并发送。

只是似乎找不到任何这样做的 ServerSupportFunction :(

谢谢

0 投票
1 回答
335 浏览

iis - 多个 ISAPI 扩展处理同一请求时出现问题 (Exchange 2003)

我正在尝试添加一个 ISAPI 扩展,该扩展将在请求内容继续到处理请求的原始扩展之前读取。

更具体地说,我在处理 ActiveSync 请求的 Microsoft 原始“massync.dll”上方的 Exchange 2003 ActiveSync 文件夹(稍后会详细介绍)中添加了我的 ISAPI 扩展。

部署: 1. 在 IIS Manager-->Web Service Extensions 下,我添加了我的扩展并将其设置为“允许” 2. 在 IIS Manager-->Web Sites-->Default Web Site-->Microsoft-Server-ActiveSync- ->属性-->虚拟目录-->应用程序设置-->配置,我在原来的“massync.dll”上面插入了我的扩展

在 HttpExtensionProc() 上,我的扩展返回 HSE_STATUS_SUCCESS。

问题是我的扩展程序成功捕获了请求并且我能够读取它的内容。但是,对于我的扩展,请求不会继续到下一个扩展,并且 ActiveSync 过程失败。

如何使请求继续到安装了我的扩展的下一个扩展?

提前致谢

0 投票
1 回答
315 浏览

isapi-extension - 如何将 ISAPI 扩展中的请求链接到 ISAPI 过滤器中的响应?

我正在为 IIS6 构建一种 http 嗅探器,因为我同时使用了 ISAPI 过滤器和 ISAPI 扩展。扩展 - 读取请求。过滤器 - 读取响应。

我使用扩展的原因是我不想强迫用户更改为 IIS5 兼容模式,因此无法订阅 SF_NOTIFY_READ_RAW_DATA。

问题是,当我读取响应时,我想将它链接到请求,所以我需要给请求一个唯一的标识符,并在读取响应时使用它。

我读过曾经有一个选项可以使用 SF_REQ_GET_CONNID 调用 ServerSupportFunction,但 IIS6 不支持。

此外,我读过一个可能的解决方案是附加客户标头,然后将其删除 - 这可能会起作用,但似乎不如我希望实现的优雅。

有什么方法可以在过滤器中获取连接 ID(EXTENSION_CONTROL_BLOCK 中的 connID)?

感谢您的回复,萨吉夫