IIS 8.5服务dll,供下载而不是执行 [英] IIS 8.5 serving dll for download instead of executing

查看:95
本文介绍了IIS 8.5服务dll,供下载而不是执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题:

当我访问(32位) DLL 通过 http://localhost/somepath/some.dll?action IIS始终认为我要下载文件(文件大小为0字节)而不是执行dll。

When I access a (32-bit) DLL via URL like http://localhost/somepath/some.dll?action IIS always thinks I want to download the file (with file size 0 byte) instead of executing the dll.

我到目前为止所做的尝试:


  • 在ISAPI和CGI限制中为此特定DLL添加了一个条目
  • >
  • 为* .dll启用了 ISAPI-dll处理程序,具有读取,编写和执行功能的权限。

  • IIS用户/ AppPool身份具有对dll的物理位置

  • App-Pool在经典模式下运行并启用了32位应用程序

  • 我删除了MIME类型条目* .dll

  • added an entry for this specific DLL in ISAPI- and CGI-Restrictions
  • enabled the "ISAPI-dll" Handler for *.dll with feature permissions read,script and execute.
  • IIS User / AppPool Identity have full access rights to the physcal location of the dll
  • App-Pool is running in classic mode and 32 bit applications are enabled
  • I deleted the MIME-Type Entry for *.dll

仍然有任何浏览器提示下载窗口。我的想法已经用完了。我目前在Windows Server 2012 R2上使用IIS 8.5。

Still any browser prompts a download window. I'm running out of ideas now. I'm currently using IIS 8.5 on Windows Server 2012 R2.

同一应用程序在Windows 2000 SP4上的IIS 5中运行没有问题。

The same application is running without troubles in IIS 5 on Windows 2000 SP4.

任何帮助或想法都是

推荐答案

由于Windows 2000是 32位和Windows Server 2012 R2是 64位(正如您所说的DLL是 32位),我希望您的问题可能链接到此问题。

And as Windows 2000 was 32-bit and Windows Server 2012 R2 is 64-bit ( and as you said your DLL is 32-bit) I expect that your issue is maybe possibly linked to this issue.

是否通过使用命令 regsvr32< youdll> (在Windows目录中运行该命令)在服务器端注册了DLL?

Does your DLL has been registered on server side by using command regsvr32 <youdll> (run that command from the windows directory) ?


  • 您也可以尝试设置MIME类型Entry,如下所示:

扩展名> 类型

.dll > 程序集(删除星星并将点保留在扩展名上)

.dll > Assembly (Remove the stars and keep the dot on the extension)


  • 您可以尝试以32位模式运行IIS主机进程

  • You may try to run the IIS host process in 32 bit mode

您可以尝试创建dll的包装并将该包装dll托管在COM +中

You may try to create a wrapper of your dll's and host this wrapper dll's in COM+

最后,根据此类似问题,您可以参考,然后再次检查Handler是否正确设置。

Finally, according to this similar issue, you may refer to this and double check that the Handler is properly setup.

这篇关于IIS 8.5服务dll,供下载而不是执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆