| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Запуск программы |
| Автор: NetSharp 4.5.2004, 03:09 |
| Здравствуйте. Мне необходимо запускать программу из строки адреса браузера (конечно, на моей машине). Делаю так: http://localhost/myapp.exe Программа удачно запускается и работает, но при завершении в браузере грузится страница с надписью: CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: Подскажите, пожалуйста, где ошибка? В продолжение, еще хотелось бы обрабатывать параметры, переданные программе в адресе, например: http://localhost/myapp.exe?id=2 Нужно узнать значение параметра ID. |
| Автор: stab 4.5.2004, 14:18 |
| Лучше оформи все это дело, как класс и используй из ASP. |
| Автор: AntonSaburov 5.5.2004, 12:34 |
| Почитай описание HTTP - тебе же говорят, что програама не возвращает необходимые HTTP заголовки. Посмотри, что там у тебя программа отдает. |
| Автор: NetSharp 8.5.2004, 07:13 |
| Сообщение я понял. Но в том-то и дело, я понятия не имею, какие заголовки нужно вернуть и как... |
| Автор: stab 11.5.2004, 10:00 | ||
| спецификация HTTP 1.1: ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt а вот что возвращает www.com при GET / HTTP/1.0 :
Точно ли задача требует ручной реализации HTTP? Лучше не запариваться и использовать ASP, ИМХО |
| Автор: NetSharp 11.5.2004, 15:11 |
| Спасибо.. Но как это реализовать программно? В принципе, ASP .NET тоже подойдет, но только и только в том случае, если из него можно запускать приложение под текущей учетной записью (по умолчанию он запускает приложение под ASPNET). |
| Автор: stab 12.5.2004, 09:02 |
| Я бы посоветовал оформить это приложение как Class Library (dll) и использовать прямо из ASP, т.е. без запуска отдельного приложения, если, конечно, специфика задачи это позволяет. К сожелению расказать по шагам не могу, т.к. по не объяснимым причинам мой локальный сервак сдулся и реанимации не поддается. |
| Автор: NetSharp 12.5.2004, 22:24 |
| Немного проясню ситуацию: само Web-приложение (будь то исполняемый файл или веб-страница), обработав переданные аргументы, должно в свою очередь запускать другое приложение. Если, например, я сделаю ASP.NET страницу, которая будет запускать нужное приложение, то оно по умолчанию запускается под учетной записью ASPNET, что в моем случае неприемлемо. Если же я сделаю самостоятельное приложение, то такой проблемы не возникает, однако появляется другая проблема, описанная выше... Может есть варианты запустить программу под текущей учетной записью? |
| Автор: Kurt 14.5.2004, 01:08 | ||
| Можно попробовать через WinAPI-функции, но я сейчас не готов ответить как.. А что если ASP.NET-приложение запустить под другим пользователем? Тогда и запускаемое из ASP.NET приложение, вроде, тоже будет под этим пользователем. Сам я с таким не работал, но слышал, там в web.config надо вставить строчки:
Однако, там надо еще какие-то изменения в machine.config сделать.. Погляди в этом направлении - можь, это то, что тебе надо.. Удачи! З.Ы. А в самом ASP.NET-приложении нельзя все выполнить? (как советовал cully..) Чтоб не исполнять внешнюю программу? |
| Автор: NetSharp 14.5.2004, 16:12 | ||
Kurt, большое спасибо за совет!
нет... |