Як змусити IIS в Windows 7 запустити виконуваний веб-сервіс мила замість завантаження


1

Я створив дуже просту службу веб-сервера Soap за допомогою delphi, а також встановив IIS-7 на своїй локальній машині під управлінням Windows 7 Professional.

Я помістив свій виконавчий файл Soap у каталог inetpub / wwwroot /. Коли я переходжу до адреси " http: //localhost/SoapAttempt.exe ", мій браузер намагається завантажити файл, а не запускати його.

Я думаю, мені потрібно щось налаштувати в IIS. Що мені потрібно зробити, щоб це запустилося замість завантаження?

Редагувати:

Я слідую за цим підручником http://www.devarticles.com/c/a/Delphi-Kylix/Building-a-Web-Service-from-Scratch-with-Delphi/, а на третій сторінці - там, де він інструктує складати виконуваний файл і помістіть його в каталог. Потім він каже, що відкрити його з веб-браузера, і після цього в підручнику показано, що на ньому відображається сторінка з інформацією про мильний сервер, який ви можете використовувати для створення клієнтів, але все, що я отримую, це завантаження файлу. Тож я пропускаю крок, що не налаштовано правильно.

ПРИМІТКА. У навчальному посібнику написано розмістити виконуваний файл у каталозі wwwroot / cgi-bin, але я спробував і вище, і цей каталог, і обидва мають однаковий результат.

Відповіді:


1

Зображення обробника для CGI-exe було вимкнено.

  • Перейти до IISManager (пошук у пусковій смузі inetmgr)
  • Виберіть найвищий рівень у лівому полі
  • Двічі клацніть на піктограмі Обробник відображення
  • Клацніть правою кнопкою миші на об'єкті в розділі з вимкненим назвою CGI-exe
  • Клацніть Редагувати дозволи
  • Переконайтеся, що прапорець Виконати
  • Натисніть "Ок", щоб вийти з цього екрана, і Presto Problem Solution

майже ...

Зараз у мене виникає інше питання, але погано розміщую його в коментарях до цієї відповіді


Я майже зараз можу це запустити. Я отримую цю помилку, коли я роблю "Помилка HTTP 404.2 - не знайдено. Сторінку, яку ви запитуєте, не може бути розміщена через налаштування списку обмежень ISAPI та CGI на веб-сервері." Я перевірив обмеження і немає записів у відхиленні штат
Тім

1
Щоб закінчити це, мені довелося встановити менеджера для дозволу невказаних модулів CGI та ISAPI. Це розміщено під обмеженнями ISAPI та CGI, потім праворуч під дією натисніть на налаштування функції редагування
Тім

0

IIS розмістить веб-сервіси. Якщо ваша програма delphi - це автономний веб-сервер, немає необхідності розміщувати її всередині віртуального каталогу в IIS. Натомість потрібно запустити виконуваний файл із сервера, а потім спробувати перейти до нього через браузер.

Якщо ви написали розширення / аддон / плагін IIS, вам потрібно буде вивчити, як вони розгорнуті.

оновлення

За посиланням, яке ви надали:

Збережіть усі файли проектів в одному каталозі, включаючи інтерфейс та блоки реалізації. Потім у Delphi IDE перейдіть до Проекти, потім параметри, а потім встановіть вихідний каталог на "X: inetpubwwwrootcgi-bin." "X" - це будь-яке ім'я диска, на якому розташований корінь веб-сервера. Каталог cgi-bin не включається автоматично у веб-корі для тих, хто працює з IIS, тому створіть його та надайте йому права на виконання. Ми встановлюємо каталог виводу в каталог cgi-bin, оскільки нам не доведеться копіювати наш exe в каталог cgi-bin кожен раз, коли ми вносимо зміни в нашу програму. Коли ми будемо перекомпілювати його, автоматично буде розміщено у цьому каталозі. На відміну від більшості інших веб-сервісів, нашій веб-службі не потрібно підключення до Інтернету,

Підкресли моє - ти створив цей віртуальний каталог під IIS? І ви вибрали Execute як дозвіл для цього каталогу? (Після створення віртуального каталогу клацніть правою кнопкою миші виберіть властивості та оберіть поле для виконання дозволів зі спадним списком)


Дякую за допомогу поки що. Я відредагував вищезазначене питання, щоб надати більше інформації. Я завтра розберуся на вашу відповідь.
Тім

Так, я створив папку і дав дозволи на виконання.
Тім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.