问题:
当我通过 http://localhost/somepath/some.dll?action 访问(32位)DLL
时,IIS始终认为我要下载该文件(包含文件大小为0字节)而不是执行dll。
到目前为止我尝试了什么:
仍有任何浏览器提示下载窗口。我现在已经没想完了。我目前在Windows Server 2012 R2上使用IIS 8.5。
在Windows 2000 SP4上的IIS 5中运行相同的应用程序。
感谢任何帮助或想法!
答案 0 :(得分:1)
由于Windows 2000为32-bit
而Windows Server 2012 R2为64-bit
(正如您所说的,您的DLL为32-bit
),我希望您的问题可能与{{{}}相关联。 3}}
您的DLL是否已使用命令regsvr32 <youdll>
在服务器端注册(从Windows目录运行该命令)?
Extension
&gt; Type
.dll
&gt; Assembly
(删除星星,并在扩展名上留点)
您可以尝试以32位模式运行IIS主机进程
您可以尝试创建dll的包装器并在COM +中承载此包装器dll
最后,根据this issue.,您可以参考this similar issue并仔细检查处理程序是否已正确设置。
答案 1 :(得分:0)
我知道这是一个老问题,但是我发现Web浏览器实际上是在缓存文件下载。我通过完全停止IIS并访问URL证明了这一点,但仍然提示我下载文件。然后,我重新启动IIS,确认仍然存在相同的问题,从一个新的专用窗口尝试了该问题,并且运行了DLL,而不是提示我进行下载。
简而言之,在配置完所有内容后,尝试使用私有模式或其他网络浏览器。