如何在Windows 7上获取IIS以运行我的soap webservice可执行文件而不是下载它


1

我已经使用delphi构建了一个非常简单的Soap Web Server服务,并且在运行Windows 7 Professional的本地计算机上安装了IIS-7。

我将Soap可执行文件放置在inetpub / wwwroot /目录中。当我转到地址“ http://localhost/SoapAttempt.exe ”时,我的浏览器尝试下载文件而不是运行它。

我想我需要在IIS中进行设置。我需要做什么才能使其运行而不是下载?

编辑:

我正在关注本教程http://www.devarticles.com/c/a/Delphi-Kylix/Building-a-Web-Service-from-Scratch-with-Delphi/,并且在第三页上它指示了编译位置可执行文件并将其放置在目录中。然后,它说要从Web浏览器中打开它,然后,本教程将显示它显示一个页面,其中包含有关肥皂服务器的信息,您可以用来构建客户端,但是我所得到的只是下载exe文件。所以我想不到某个步骤设置不正确。

注意:教程说将可执行文件放置在wwwroot / cgi-bin目录中,但是我已经尝试了上述目录和该目录,并且都具有相同的结果。

Answers:


1

CGI-exe的处理程序映射已禁用。

  • 进入IISManager(在开始栏inetmgr中搜索)
  • 在左侧框中选择最高级别
  • 双击处理程序映射图标
  • 右键单击禁用部分中名为CGI-exe的项目
  • 单击编辑功能权限
  • 确保已选中执行
  • 按确定退出该屏幕,然后Presto问题已解决

几乎...

我现在有一个不同的问题,但是不适用于此答案的注释中


我现在几乎可以运行它了。当我执行“ HTTP错误404.2-找不到页面时,由于Web服务器上的ISAPI和CGI限制列表设置,无法提供您所请求的页面。”我收到了此错误。我已经检查了限制,并且拒绝中没有任何条目州
蒂姆(Tim)

1
为了解决这个问题,我必须设置管理器以允许未指定的CGI和ISAPI模块化。这可以在ISAPI和CGI限制下找到,然后在操作下的右侧,单击“编辑功能设置”
蒂姆

0

IIS将托管Web服务。如果您的delphi应用程序是独立的Web服务器,则无需将其放置在IIS中的虚拟目录中。相反,需要从服务器运行可执行文件,然后尝试通过浏览器导航到该可执行文件。

如果您编写了IIS扩展/插件/插件,则需要研究它们的部署方式。

更新

通过您提供的链接:

将所有项目文件保存在一个目录中,包括接口和实现单元。然后在Delphi IDE中转到“项目”,然后选择“选项”,然后将输出目录设置为“ X:inetpubwwwrootcgi-bin”。“ X”表示Web服务器根目录所在的驱动器名称。对于我们这些运行IIS的人,cgi-bin目录不会自动包含在webroot中,因此请创建它并赋予它执行权限。我们将输出目录设置为cgi-bin目录,因为每次更改应用程序时都不必将exe复制到cgi-bin目录。当我们重新编译该exe文件时,它将自动放置在该目录中。与大多数其他Web服务不同,我们的Web服务不需要Internet连接,

我的重点-您是否在IIS下创建了该虚拟目录?并且您是否选择“执行”作为该目录的权限?(在创建虚拟目录之后,右键单击选择属性,然后在带有下拉列表的“执行权限”字段中四处查找)


谢谢您到目前为止的帮助。我已经编辑了上面的问题,以提供更多信息。我明天再调查您的答案。
蒂姆(Tim)

是的,我已经创建了文件夹,并且已经授予了执行权限。
蒂姆(Tim)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.