K-m*_*man 0 delphi iis-7 isapi
使ISAPI DLL在IIS7中工作以查询www.website.com/test/bin/ISAPIGet.dll?a=b所需的最小步骤是什么?请不要参考热门谷歌搜索,它们非常通用,不起作用.我在Delphi2010中编写了非常简单的ISAPIGet.dll,它在IIS5 Win2000中运行良好.然后我把它放在IIS7 SBS2008上,放到C:\ inetpub\wwwroot\website\test\bin文件夹中.创建网站/网页,应用/测试,VirtualDirectory的/ bin中,在对的HandlerMappings/bin中添加脚本映射的*.dll我ISAPIGet.dll,让我在ISAPIandCgiRestrictions DLL,创建32位ApplicationPool不受管理的代码,经典模式,它结合到/测试应用程序.在查询www.website.com/test/bin/ISAPIGet.dll?a=b我遇到各种错误,如500,503(当AppPool失败时),而主页www.website.com正常工作.我还该怎么办?我需要配置web.config文件,在哪里以及如何?
我记得,我有类似的问题让我们的ISAPI DLL在WinSvr2008R2(64b)上的IIS7中运行.我写了一些快速笔记,帮助我重复最终使其工作的步骤.我会尝试在这里提供(至少我们做了什么).
C:\PathToISAPI_DLLc:\windows\syswow64文件夹中(例如,midas.dll,dbxmss.dll等)C:\PathToISAPI_DLL现在,您必须在DOS提示符下执行几个步骤才能完成配置:
cd /d c:\windows\system32\inetsrv
REM *** Grant rights to execute the DLL ***
appcmd.exe set config -section:isapiCgiRestriction /+[path='C:\PathToISAPI_DLL\ISAPI.dll',allowed='true']
REM *** Grant the url of the Execute access for hander mappings ***
appcmd.exe set config "Default Web Site/MyApp/ISAPI.DLL" "/commit:Default Web Site/MyApp" /section:handlers /accessPolicy:Read,Script,Execute
REM *** Make sure you have an ISAPI module mapping for *.dll at that path ***
appcmd.exe list config "Default Web Site/MyApp" /section:handlers | findstr /i *.dll
Run Code Online (Sandbox Code Playgroud)
这是我的笔记的范围.我已经成功地跟踪了他们几次并且它一直有效.我只是使用GUI 从未能让它工作.我总是不得不appcmd在DOS提示符下运行命令来完成配置.
有时我仍然看到404错误,在这种情况下,我从ISAPI.DLL文件夹中删除web.config并appcmd再次运行最后两个命令.当然,我的ISAPI DLL在web.config文件中没有任何其他设置,所以删除它不会有什么坏处...
| 归档时间: |
|
| 查看次数: |
3521 次 |
| 最近记录: |