标签: isapi

Isapi过滤器无法在IIS 7上运行(在IIS 6上可以正常工作)

我有一个Isapi dll执行一些基本的URL重写.它在II6上工作正常.但是,现在我的开发机器已升级到Windows 7,我无法在IIS 7下运行它

为了让它发挥作用,还有什么特别需要做的吗?

该网站正在运行经典ASP管道应用程序池(虽然我已尝试过两者)

关于如何解决这个问题的任何建议?

非常感谢

ps将其重写为模块/处理程序不是一种选择.我只想知道如何让现有的DLL在IIS 7上运行.

asp.net iis-7 iis-6 isapi-rewrite isapi

6
推荐指数
1
解决办法
4885
查看次数

Python导入错误"DLL加载失败"| 蟒蛇

我在IIS6 Web服务器后面提供Django应用程序.

测试服务器运行完美,但是当在Web服务器后面运行模块导致导入时我收到此错误:

加载pyodbc模块时出错:DLL加载失败:找不到指定的模块


只是为了记录该模块是pyodbc

该网站使用isapi-wsgi通过isapi提供


有任何想法吗?这真的会让我的一天!:)

python iis django isapi

6
推荐指数
1
解决办法
3412
查看次数

IIS7:使用句点重写URL

我正在使用SEO友好的URL,我可以通过将aspnet_isapi.dll映射到所有URL来处理大部分URL.(我在IIS中设置了一个处理程序映射,它将dll用于所有路径.(path =*))

但是,当"子文件夹"的最后一个字符是句点时,这似乎不起作用.例如,我有一个URL /brakes/A.B.S./,并且不会触发映射.所以我最终得到404这样的URL.有谁知道我应该如何设置映射来触发这个?(我已尝试*.但这也不起作用.)

iis asp.net-2.0 url-rewriting isapi

6
推荐指数
1
解决办法
2740
查看次数

IIS7 HttpModule和ISAPI Filter执行顺序

我有一个使用ISAPI Rewrite的站点以及一个自定义的HttpModule,它们都进行了Url重定向和重写.

在IIS 6中,一切正常:首先运行ISAPI Rewrite过滤器,然后运行HttpModule.在IIS 7(集成模式)中,顺序现在是相反的,这会产生问题.

我的问题,特别是,HttpModule有一个条件,它会发出一个Url重写使用context.RewritePath.如果没有提供文档,它将显式地向路径添加"index.aspx",因此请求/test/被重写为/test/index.aspx.

在重写路径之后的某个时刻,执行ISAPI重写过滤器.我们有一个与模块相反的规则:/test/index.aspx获取301重定向的请求/test/.因此,我们有一个无限循环.

如何在IIS 7中确定HttpModules和ISAPI过滤器的执行顺序?订单可以更改吗?我发现了这个问题,但它并没有真正帮助.我不是IIS 7的主人,但我确实在某种程度上理解模块和ISAPI过滤器"一起"运行.不幸的是,他们的管理方式不同,我无法弄清楚如何强迫一个人跑到另一个人面前.救命!

注意:我们假设我无法更改现有代码.它在IIS 6中有效.我只想知道是否有办法使其在IIS 7集成模式下工作.

asp.net iis-7 httpmodule isapi

6
推荐指数
1
解决办法
7685
查看次数

找出ISAPI DLL的物理路径

我正在将Delphi ISAPI dll转换为在IIS 7.0和7.5上更好地工作.ISAPI用于从注册表中读取其配置,但我想将其转换为使用同一文件夹中的web.config文件.

它适用于CGI,但ISAPI是另一回事.我正在使用GetModuleFileName模块的路径,当然,它正在给我回到IIS工作进程的路径(C:\ Windows\SysWOW64\inetsrv).

有没有办法获得ISAPI DLL本身的物理路径?

delphi iis dll isapi

5
推荐指数
1
解决办法
3242
查看次数

IIS和Delphi - 获取ISAPI中的应用程序文件夹

在IIS上运行ISAPI应用程序时,如果我们调用ParamStr(0)Application.ExeName在ISAPI内部,我们将获得安装IIS的文件夹(C:\ windows ...).

有没有办法获取包含我的ISAPI而不是IIS的应用程序文件夹的文件夹路径?

delphi iis isapi

5
推荐指数
1
解决办法
1725
查看次数

如何在IIS7.5中查看usermode缓存中的哪些文件?

kernelmode静态内容缓存是HTTP.SYS的一部分,配置起来非常简单.调试时,您始终可以使用以下命令检查kernelmode缓存的内容:

netsh http show cachestate
Run Code Online (Sandbox Code Playgroud)

但IIS中的用户模式缓存更难调试.似乎根本没有检查可能性.有没有一种简单的方法可以查看Web应用程序工作进程内的usermode缓存中的文件是什么?

在我们的项目中,我们有一个ISAPI模块,在将它们返回到浏览器之前对所请求的文件进行内省.因此,我们无法在IIS中使用标准的静态内容缓存.我们遇到缓存问题,IIS在短暂的预热期后停止向缓存添加新项目.项目被刷新,但似乎没有新文件被缓存.根据perfmon,缓存中的项目数量下降到少数.在任何给定时间能够准确查看缓存中的文件对我们来说非常有价值.

iis caching isapi http.sys

5
推荐指数
0
解决办法
840
查看次数

如何在ISAPI筛选器中设置多个cookie

我遇到了在ISAPI过滤器中设置多个cookie的问题.我想将HttpOnly标志添加到所有cookie中.

所以,在我的第一次尝试中,我分割了cookie值并添加了HttpOnly标志,然后我将它们组合成一个字符串,最后调用pResponse->SetHeader(pfc, "Set-Cookie:", szNewValue),浏览器只获得第一个cookie值.

第一次尝试代码:

cbValue = sizeof(szValue) / sizeof(szValue[0]);
        if (pResponse->GetHeader(pfc, "Set-Cookie:", szValue, &cbValue))
        {
            char szNewValue[MAX_URI_SIZE] = "";
            char* token = NULL;
            char* context = NULL;
            char delim[] = ",";

            // szValue format like 
            // "Language=en; expires=Sat, 15-Jul-2113 02:46:27 GMT; path=/; HttpOnly,Language=en; expires=Sat, 15-Jul-2113 02:46:27 GMT; path=/; HttpOnly"
            // After first split
            // token = "Language=en; expires=Sat"
            // context = " 15-Jul-2113 02:46:27 GMT; path=/; HttpOnly,Language=en; expires=Sat, 15-Jul-2113 02:46:27 GMT; path=/; HttpOnly" …
Run Code Online (Sandbox Code Playgroud)

c++ iis cookies winapi isapi

5
推荐指数
1
解决办法
854
查看次数

Msmdpump.dll OLAP 数据泵抛出 500 错误

如何通过请求msmdpump.dll连接到 SQL Server Analysis Services来解决此问题?我从 IsapiModule 收到 500 错误。

在装有 IIS 8.5 的 Windows Server 2012 R2 机器上,我msmdpump.dll使用以下说明设置了 OLAP 数据泵 ( ):https : //msdn.microsoft.com/en-us/library/gg492140.aspx#bkmk_copy

  • 应用程序池针对 .NET CLR v4.0 配置,采用经典托管管道模式。身份设置为本地服务帐户。(我也尝试过域帐户,并尝试将本地用户设置为管理员)。
  • 根据 MSDN 文章,我在默认网站下创建了一个应用程序,称为 OLAP,带有一个 IsapiModule。

OLAP 数据泵的 IIS 设置

据我所知(并且我已经进行了两次和三次检查),一切都按照 MSDN 文章中的布局进行了配置。此外,与我进行此设置的另一台服务器(在不同的网络上)相比,它本质上是相同的。

当我http://localhost/OLAP/msmdpump.dll在该机器上的浏览器中请求时,收到 500 内部服务器错误。该错误表明它正在尝试使用OLAP我创建的处理程序。这与我在GET向 msmdpump.dll 发出请求时通常期望的错误不同。GET当一切正常时,对于一个直接的正常错误,会在一个 SOAP 信封中发回。就我而言,请求似乎从未被msmdpump.dll.

通过浏览器出现 500 内部服务器错误:

(完整截图见下文)

Module   IsapiModule 
Notification   ExecuteRequestHandler 
Handler   OLAP 
Error Code   0x8007007e 

Requested URL   http://localhost:80/OLAP/msmdpump.dll 
Physical Path   C:\inetpub\wwwroot\OLAP\msmdpump.dll 
Logon …
Run Code Online (Sandbox Code Playgroud)

sql-server iis olap ssas isapi

5
推荐指数
1
解决办法
2755
查看次数

进程名称在Delphi中不可见XE附加到进程对话框 - 无法调试

场景:

  • 使用Delphi XE编写的Delphi ISAPI dll,32位.

    ISAPI DLL在Win 7 64企业桌面计算机上运行IIS 7.5.

    DLL运行正常.

    使用Run-> Attach to Process调试Delphi XE IDE中的ISAPI DLL:

    启动ISAPI DLL并附加到调试器中的wpw3.exe*32进程 - 可以在ISAPI上下文中运行时跟踪和调试代码.

问题:

  • 我的硬盘上周死了,我得到了一个新的Win 7安装 - 标准的企业级Win 7 64企业级映像(与我以前的Win 7 64安装不同).

    现在,当我进入Run-> Attach to Process时,我不再按名称看到wpw3.exe*32进程,尽管它在任务管理器中按名称可见.在"附加到进程"对话框中调用"show system processes"选项没有帮助.

    我现在看到的(我在旧部署中从未见过)是一个很长的"通用"系统进程列表,其中包含PID,但没有"系统"以外的描述.

    其中一个进程是我的wpw3.exe*32进程,我已经使用MS的Process Explorer识别了它的PID.但是,如果我尝试附加到该进程,我会收到一条错误消息 - "无法创建进程 - 访问被拒绝" - 所以我无法调试.(相同的错误消息'错误打开过程,拒绝访问'也在Process Explorer中显示某些属性,尽管过程'wpw3.exe*32'的描述性名称在那里可见,与PID相关联.)

    如何获取Run-> Attach to process对话框以显示正确的wpw3.exe*32进程名称并附加到它,以便我可以调试?

    这是德尔福问题吗?一个IIS问题?ISAPI问题?这是一个问题 - 即缺乏描述性的过程名称和无法附加到过程是由同样的问题引起的; 或者是这两个问题:一个问题是缺乏描述性名称,另一个问题是无法附加到流程?

    (不想使用 - 无法真正使用 - webApp调试器 - 这些是部署到生产的ISAPI dll,就像它们在IIS中编写和调试一样 - 我需要看到它们在IIS上下文中运行.)

  • 多年来一直在调试ISAPI dll,使用不同版本的Delphi,在各种操作系统和服务器环境中没有任何问题 - 以前从未遇到过这个问题.我很难过.

delphi debugging isapi iis-7.5 delphi-xe

4
推荐指数
1
解决办法
3032
查看次数