• ベストアンサー

C#でCGIを動かす方法

C#でCGIを作成できるとの話を聞いたことあるのですが、方法が良く分かりません。。。 C#でのアプリ作成経験はあるものの、CGIは作成したことがないので・・・; C#ならばASP.NETの方が良いと思われますが、C#で作成したCGIを動かすには、ASP.NETと同じ環境が必要なのでしょうか?(サーバーで) 一般的な「CGI・PHP可能」とあるサーバーで動かすことができるのでしょうか? できたら、サンプルソースも書いていただいてくれたらとてもうれしいです。 よろしくお願いします。

noname#120928
noname#120928
  • CGI
  • 回答数4
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.4

> C#でCGIを作成できるとの話を聞いたことあるのですが、 できるかできないかはサーバーによって決まるので、使えるサーバーを探すのが先決かと。 レンタルサーバーの範疇で探すのであれば... ・「C# でCGI可能」と書かれてりゃOKでしょう、きっと。 ・「C/C++ でCGI可能」なサーバーも、場合によっては OKかも知れません。 ・ 上記以外の場合、Perl, PHP, Ruby の様な、「コンパイルせずに実行可能」な言語しか CGI可能リストに書かれてないサーバーは絶望です。 サーバーが見付かって、あなたが HTML を手書きできる人なら、ゴールは近いかも知れませんね。 HTML手書きできない場合は、C# にどんなライブラリがあるかに依存で、私には判らないです。

noname#120928
質問者

お礼

遅くなって申し訳ありません。 ありがとうございました。

その他の回答 (3)

  • root139
  • ベストアンサー率60% (488/809)
回答No.3

CGIとは、Webサーバからブログラムを呼出す仕組みですので、WebサーバがC#で作られたプログラムを起動できることが必要です。 http://e-words.jp/w/CGI.html 今のところ、C#の処理系はCLIベースのものだけのようですので、サーバにCLIの実行環境が有り、Webサーバがそれを使えるように設定されている必要が有るかと。 http://ja.wikipedia.org/wiki/%E5%85%B1%E9%80%9A%E8%A8%80%E8%AA%9E%E5%9F%BA%E7%9B%A4 > 一般的な「CGI・PHP可能」とあるサーバーで動かすことができるのでしょうか? 一般的な共用のレンタルサーバは、Linux/FreeBSDのものが多いと思いますが、MONO等のCLI実行環境が使えるものは、まず無いかと思われます。 ユーザ側でアプリケーションのインストールやWebサーバの設定ができるサーバでしたら、処理系をインストールしたり、起動用のシェルスクリプト等を作ったりすれば、できるかも知れません。 http://www.atmarkit.co.jp/fdotnet/special/mono10_01/mono10_01_01.html

回答No.2

STDOUTに出力するコンソールアプリでいけます。 一般的に使われるLinuxサーバーで動かすにはLinuxで動くアプリケーションを作らないと行けないため、 Linux用クロスコンパイラ、またはLinuxで動くC#コンパイラが必要です。 Windowsサーバーなら.exeか.comで作って、 http://localhost/test.exe にアクセスすれば実行できます。 (拡張子.exeをCGIとして動作させるための設定が別途必要) > 一般的な「CGI・PHP可能」とあるサーバーで動かすことができるのでしょうか? 使用可能言語を確認して下さい。 @NiftyではPerl、PHPのみ許可していますが(Rubyもだったかもしれない)、Cなどのコンパイル型言語で作成したアプリケーションは許可していません。 あらかじめLinux用にコンパイルしておけば利用できるところもあります。

参考URL:
http://winofsql.jp/VA003334/infoboard.php?mid=PROc&id=070618004724&pid=7
noname#140925
noname#140925
回答No.1

一般的な「CGI・PHP可能」とあるサーバーでは動かせません。 大前提として、WindowsServerである必要がありますが、普通はインターネットのサーバにWindowsServerは使わないので、一般的にサービスされているレンタルサーバ等では使えないと思ってください。 自宅Windowsサーバでも立てない限りは使えないでしょうね。 月額気にしないのなら、C#使える環境でサービス提供している所もあるでしょうけど。

関連するQ&A

  • C++とWindowsでCGIです。

    http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/showtime.html のサンプルソースをコンパイルしてEXEファイルを作成しました。 VisualStudio.NET 2003 WindowsXP Pro Win32コンソールアプリケーションで拡張子.ccファイルをコンパイルしました。 CGIだとEXEファイルをHTML表示できるらしいのですが、 よくわかりません。 Windows環境・VisualC++で手軽にCGIファイルを実行できる方法を教えてください。 EXEファイルの拡張子をCGIに変えても、できませんでした。 あまりCGIのことはよくわからないのですが、C++でできるならやってみたいと思いました。 よろしくお願いします。

  • Webアプリケーションを開発する時、「ASP.NET」、「PHP」、「CGI」、「Java」の長所短所がしりたい

    自分は、ASP.NET+IISで開発をしてるものなんですが、社内の人間に 「ASP.NETが一番いいの?ネットみてるとPHPとかCGIとかのほうが一般的でサーバのUNIXが普通なんじゃないの?」 と言われてしまいました。 そこで、各開発ソフトの長所、短所を教えてください。 ※たしかに、インターネットサーフィンをしていると、「.php」、「.cgi」が多く見られるのに対し「.aspx」はほとんどみられない。理由があるんでしょうか

  • CGIが動かない

    CGIに関してです。 下記にて入手可能なフリーのCGIが動かなくて困ってます。 詳しい友人曰くソースが古すぎるのではないか? ということでした。 当方所有のサーバーはロリポップレンタルサーバーで もちろんCGI設置可能です。 過去にも何点かフリーのCGIを動かしたことはあります。 本当にCGI本体の問題なのか検証できる方はいらっしゃいませんでしょうか? CGI本体: http://www.minicgi.net/cgi2/list.html 紹介サイト(サンプル2) http://www.minicgi.net/cgi2/

    • ベストアンサー
    • Perl
  • CGI-PerlとPHPの速さについて

    CGI-PerlとPHPの比較サイトを見てまわっていたところ、 「PHPは多くのアクセスがあっても(CGIに比べ)サーバへの負荷が少ない」 という内容を見かけました。 一般に「PHPはCGI-Perlより速い」と言われている気がしますが、 もしかしてそれは、アクセスが多数ある場合に限定した話なのだろうか、と疑問に思いました。 ローカルサーバなどで1人~数人しかアクセスしないという環境でも、 同じことが言えるのかどうか知りたいです。お願いします。

  • aspとcgiについて基本を知りたいのですが!初心者向けにお願いします。

    windows2000PROでただいまホームページを作って勉強しています。 環境としてはこんな具合です。 IISにてweb環境を作成。 同時にIISでftpサーバをインストール&設定。 簡単なcgiを動かしたかったのでactivestate.comからactive perlをdownloadしてインストールしました。 動かしたいcgiはlogin.cgiと言う短いperl言語のcgiです。 index.htmlからリンクで動かそうとしましたが、上手くいきません。 active perlのサンプルプログラムを動かしたら上手く動いたのですが、拡張子がサンプルでは.aspとなっています。 思い切ってlogin.cgiをlogin.aspとして動かしたら、なんか動いちゃいました。 login.cgiをdownloadしたホームページの説明ではlogin.cgiの名称で一部変更してコピーと書いていますので、多分見当違いのことをしていると思っています。 基本的な概念が理解できていませんので、asp/cgiの基礎を知りたいと思います。 あわせて今回の間違いも指摘して頂けたらありがたいと思います。 宜しくお願い致します。

    • 締切済み
    • CGI
  • なぜ CGI は Perl 言語で作成/動く環境が多いのか。

    最近 CGI に興味をもちここで質問しながらネット検索をしました。 すると Perl 言語での CGI サンプルが一番多く C 言語で作る CGI の サンプルが少し見つかりました。 私の使っている無料サーバーでも CGI は使えますが Perl 言語だけ有効です。 セキュリティの問題で SSI と組み合わせた C 言語の CGI は実行出来ないようです。 質問内容: (1)なぜ CGI は Perl 言語が一番多いのか?→PHP、Cもあるのに (2)なぜ無料サーバーの多くが Perl 言語しか使えないのか? (3)処理の重い CGI を使うとサーバーがダウンするので使わないようにと  私の使っている無料サーバー(infoseek)でなっています。どの程度の  処理のことでしょうか? 上記の3つまたは1つでもアドバイスをして欲しいです。 回答をお待ちしています。

    • ベストアンサー
    • CGI
  • コンパイルされたCGI(C言語)を別サーバで動かす

    C言語にて簡単なCGIを作成しました。 gcc -o xxx.cgi xxx.c コンパイルをするとそのサーバでは問題なく動きます。 コンパイルしたCGIファイルを同じ環境の別サーバに 持っていくとInternalServerErrorとなり実行できません。 パーミッションもディレクトリ構造もApacheの設定も サーバ名、IPアドレスを除いて同じ設定です。 これは動作させるサーバ毎にコンパイルする必要が あるものなのでしょうか?もしサーバ毎にコンパイルする 必要があるのであればそれはどうしてなのでしょうか? もしくはなにか間違っているのでしょうか? お手数ですが、お分かりになる方、お教えください。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • c言語とperlのcgi設定方法

    (Arch linuxにてlighttpdサーバを立ち上げています) cgiは一般にperlが多いとは思いますが、C言語からのcgiも試みています perlによるcgiを有効にするにはlighttpd.confの設定に以下を追加  server.modules += ( "mod_cgi" )  cgi.assign = ( ".cgi" => "/usr/bin/perl")  static-file.exclude-extensions = ( ".cgi" ) C言語から作成したcgiを有効にするにはlighttpd.confの設定に以下を追加  server.modules += ( "mod_cgi" )  cgi.assign = ( ".cgi" => "")  static-file.exclude-extensions = ( ".cgi" ) 同一のサーバ下で「"/usr/bin/perl"」「""」ともにを有効にする設定方法はありますでしょうか よろしくお願いいたします

  • windows上でC言語のCGI環境について

    sea_clear_sky8です。 Windows上でC言語によるCGIを使える環境を作りたいです。 <環境> OS Windows98SE APACHE1.3 Boland BCC55 コンパイラ  APACHE1.3とBoland BCC55 コンパイラはインストールしてあります。 C言語の環境はPHPとPerlの環境と共存できるのでしょうか? PHPとPERLの環境も作ってあります。 C言語でも、PERLみたいに、コンパイルをし、ブラウザに出力する環境が つくれるのでしょうか? httped confのファイルに次を追加すると LoadModule cgi_module module/mod_cgi.so Cannot load c:/program files/apache group/apache/module/mod_cgi.so into server (1157) このアプリケーションの実行に 必要なライブラリ ファイルのうちの 1 つが見つかりません。: と表示されます。 Yahoo,Google、MSN等で調べましたが、解決方法がみつかりませんでした。 Windows上でのC言語によるCGIの作り方をご教授願います。 よろしくお願いします。

    • 締切済み
    • CGI
  • C言語CGIの一括コンパイルの方法

    10年くらい前に作ったゲームの復活を考えています。 当時ledhat7.1上で展開していたゲームをSentOS上で再開します。 ゲームはC言語で出来ていますが、作った本人が手を付けることができません。 そこで、当方が10年前の姿にまでは持っていこうと考えています。 いろいろ調べていくと、 「C言語によるCGIプログラムは、それを動かそうとする サーバー上でソースファイルをコンパイルする必要があります。 他のマシンでコンパイルしたCGIプログラムをそのまま持って来ても、動かない 可能性の方が大きいです。ご注意下さい。」 という記述を見つけました。 全部、コンパイルし直す必要がありそうです。 当方の現在の環境は下記の通りです。 サーバー  自宅にあり。直接接続可能 もちろんSSHも可 CGI の数 178個 ディレクトリは40個くらいに分かれている コンパイル前のC言語ファイルは「.c ファイル」として 保存されている ひとつひとつコンパイルしていったのでは、1ケ月くらい 掛かりそうです。 一括コンパイルのような方法はありませんでしょうか? 一括でなくとも、ディレクトリごとでも構いません。 宜しくお願い致します。

専門家に質問してみよう