Запустите файл C # в Интернете, как файл CGI - PullRequest
1 голос
/ 30 декабря 2011

У меня есть проект Visual C # на моем компьютере, и я хотел бы, чтобы мои пользователи могли взаимодействовать с ним через веб-браузер. Я провел свое исследование и понимаю, что, вероятно, для этого буду использовать CGI.

Однако, хотя я смог сделать это с файлами .pl и .cpp, я не могу понять, как это сделать с файлами C sharp (.cs). Кто-нибудь может объяснить, как я это сделаю?

РЕДАКТИРОВАТЬ: Если есть альтернативное решение, где веб-страница сообщает о моей программе на C # как о фоновой программе, это тоже работает.

ОБНОВЛЕНИЕ: После отмены с моим хостинг-провайдером и настройки домашнего веб-сервера (windows) я, наконец, получил файл C # для запуска в качестве CGI. Спасибо всем за помощь!

Ответы [ 2 ]

3 голосов
/ 30 декабря 2011

Вы должны дать нам некоторый контекст ... почему бы не использовать asp.net?Если вы просто не хотите работать в контексте IIS, вы можете просто написать службу Windows (и предоставить службы WCF или даже необработанные сокеты, если это то, что вам нужно).

edit: В ответ на недавний комментарий о том, что сервер является UNIX, вы можете использовать MONO для запуска .net кода на этом сервере: http://www.mono -project.com / Main_Page

Выможно использовать что-то вроде mod_mono или, если вы предпочитаете что-то другое, вы можете посмотреть на manos de mono

0 голосов
/ 30 декабря 2011

Во-первых, я предполагаю, что в вашей системе установлены Mono project компилятор и среда выполнения.

CGI происходит полностью черезстандартный ввод и стандартный вывод.(Это одна из причин, почему так легко писать CGI-скрипты на Perl, Python, Ruby и т. Д. Вы просто начинаете читать стандартный ввод как обычно, анализируете переменные и записываете любой вывод, который хочет видеть клиент.)не стоит забывать, что вы отвечаете за весь заголовок , включая Mime-тип.

Если вам нужно что-то, что работает быстрее, чем константа CGI fork(2) + execve(2), перезапустите CLRснова и снова, вы можете самостоятельно реализовать протокол FastCGI (по крайней мере, я не видел реализацию C # на странице Википедии), используя сокеты, и запускать свой CLR только один раз, так что у вас есть разумная производительность,(Кажется, я помню, как Нат увлекался тем, что время запуска процесса Mono "достаточно быстрое", чтобы использовать его для интерактивных команд, поэтому, возможно, у слегка загруженного сервера не возникнет проблем с простым старым интерфейсом CGI.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...