我用D7的例子FishFactDLL.dll,拷到WWWROOT(已设脚本和执行程序权限),在IE中输入http://localhost/FishFactDLL.dll/start
或http://localhost/FishFactDLL.dll
都提示如下:
无法显示网页 
您要访问的网页有问题,无法显示。 --------------------------------------------------------------------------------请尝试以下操作:打开 localhost 主页,然后查找指向您感兴趣信息的链接。 
单击刷新按钮,或以后再试。单击搜索,寻找 Internet 上的信息。 
也可查看相关站点列表。 若将FishFact.EXE 拷贝过去,执行
http://localhost/FishFact.exe显示如下:CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
请教,究竟应该如何才能发布才能成功?

解决方案 »

  1.   

    不会吧,在IIS管理器中,找到DLL点右键选浏览试试
      

  2.   

    照做,还是如此。
    是不是还要启动或先注册什么?http://localhost/FishFactDLL.dll
     无法显示网页 
    您要访问的网页有问题,无法显示。 --------------------------------------------------------------------------------请尝试以下操作:打开 localhost 主页,然后查找指向您感兴趣信息的链接。 
    单击刷新按钮,或以后再试。单击搜索,寻找 Internet 上的信息。 
    也可查看相关站点列表。 
    HTTP 500 - 内部服务器错误 
    Internet Explorer  
      

  3.   

    先要弄清楚你做的是ISAPI的还是stand alone 的Server application.
      

  4.   

    我打开例子中的FishFactDLL.dpr,编译成dll文件,然后如上做,就不行。我还试了例子中的所有exe\dll文件,都将其拷入wwwroot中,都不能执行。是漏做了什么吗?请指教。往往捅破窗户纸最困难。
      

  5.   

    不直接COPY,自已建个虚你目录,设一下权限试试
      

  6.   

    我做过一个Webservice,是用来随机显示图片的,等我回去看看源码先。
      

  7.   

    我也有同样问题,通过配置iis好了一阵,后来又不行了,不知道原因所在。
      

  8.   

    我把步骤说一下,大家帮我看看什么原因:
    1、我用new|Other|Intrweb|stand alone application 建立一个单独执行程序IWProject.exe.,在form上放置
    一个IWButton,端口设置为8081,编译后将exe放置到已设置执行权限的webtest虚拟目录下。
      (1)用http://localhost:8081/webtest/IWProject.exe或
             http://localhost:8081/webtest/IWProject.exe/start
           均提示 “该页无法显示 
    您要查看的页当前不可用。网站可能遇到技术问题,或者您需要调整浏览器设置。 ”     如果先直接执行程序后,用http://localhost:8081 可以显示出网页。
         网页路径自动变成 http://localhost:8081/EXEC/0/641D9F00A5C506E02E5CE240
        
         如何能向调CGI程序一样,可以自动激活启动exe程序?   (2)用new|Other|Intrweb|ISAPI Application 建立程序IWISAPIProject.dll,同上添加
      IWButton,设置端口8081,编译后将程序拷到虚拟目录webtest对应目录下。
         用http://localhost:8081/webtest/IWISAPIProject.dll也是显示"该页无法显示"
       怎样才能调用到dll服务程序?需要先注册dll吗?
     
      上面的步骤哪里错误了,为什么不能成功?
      我在网页中是可以调用webservice编写的exe程序的(也是放在webtest目录下,因此执行权限应该没有问题)。
    问题出在其他方面。请指教!
      

  9.   

    1.你确认用D7->Intraweb\Fishfact\Fishfact.dpr的例子在D7环境中可否运行?
    1.1如不可,请例出错误提示,返回...
    1.2.如可,用D7->Intraweb\FishFact\Fishfact.DLL COPY至当前IIS目录,
    在IE中运行之:http://127.0.0.1/Fishfact.DLL/Start
    1.3如不成功,请例出错误提示,返回...
    注意:
    A.为保证IIS的正确性,你可重新安装IIS,并且不作任何设定,使用默认的目录
    B.在D7应该完全可以正常运行CGI
      

  10.   

    D7是无法运用DLL不过intraweb编译后的文件有两种方式:一种是DLL,另一种是EXE
      

  11.   

    to stevenpeng(steven.peng):
    1、例子的Exe程序在delphi下是可以的,并且如果先执行,再在IE中用
    http://localhost:[port]就可以执行,但若将exe或dll放到虚拟目录下
    就可以不能执行,显示 该页无法显示。2、如果说是我的虚拟目录设置有问题或者是IIS安装有问题,但我编写的
    WebService的exe的CGI程序可以在IE中调用到。为什么?
      

  12.   

    你用例子的Fishfactdll也不行?
    你执行的路径是。。?
    错误提示是。。?
      

  13.   

    to stevenpeng(steven.peng)
    上面写过。
      

  14.   

    IF 你用的是项目文件=FishfactDMDLL.dpr then
       IF 如果你将它编译成为FishfactDMDLL.dll then
          IF 你将COPY至你的IIS目录下 then    
            if 打开IE:http://localhost/FishfactDMDLL.dll/start还是有错
                 可能:IIS有问题或IE或电脑或.....
      

  15.   

    百思不得其解时,到另一电脑试,通过。原来是我的IIS有问题,重装IIS后一切正常。
    同时,在查找原因时,摸索到以下几点,供初学者分享:
    1、要使用stand alone application的EXE程序,需要先用 IWProject.exe -install注册,
    然后在组件服务中启动。在浏览器中输入http://locahost:xxxx就可以访问。xxx是程序中
    设置的端口号。
    2、使用ISAPI application向导建立的dll程序,将其放到有执行权限的虚拟目录webtest下,在
    IE中输入http://localhost/webtest/IWISAPIProject.dll就可以访问了,不用加端口号,
    加了反倒出不来。
    3、若程序中设置了启动命令,则要加上此启动命令如http://localhost/webtest/IWISAPIProject.dll/start给stevenpeng(steven.peng)50分,
    其他分为每位热心参与者分。