- ベストアンサー
C#でCGIを動かす方法
C#でCGIを作成できるとの話を聞いたことあるのですが、方法が良く分かりません。。。 C#でのアプリ作成経験はあるものの、CGIは作成したことがないので・・・; C#ならばASP.NETの方が良いと思われますが、C#で作成したCGIを動かすには、ASP.NETと同じ環境が必要なのでしょうか?(サーバーで) 一般的な「CGI・PHP可能」とあるサーバーで動かすことができるのでしょうか? できたら、サンプルソースも書いていただいてくれたらとてもうれしいです。 よろしくお願いします。
- CGI
- 回答数4
- ありがとう数3
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> C#でCGIを作成できるとの話を聞いたことあるのですが、 できるかできないかはサーバーによって決まるので、使えるサーバーを探すのが先決かと。 レンタルサーバーの範疇で探すのであれば... ・「C# でCGI可能」と書かれてりゃOKでしょう、きっと。 ・「C/C++ でCGI可能」なサーバーも、場合によっては OKかも知れません。 ・ 上記以外の場合、Perl, PHP, Ruby の様な、「コンパイルせずに実行可能」な言語しか CGI可能リストに書かれてないサーバーは絶望です。 サーバーが見付かって、あなたが HTML を手書きできる人なら、ゴールは近いかも知れませんね。 HTML手書きできない場合は、C# にどんなライブラリがあるかに依存で、私には判らないです。
その他の回答 (3)
- root139
- ベストアンサー率60% (488/809)
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
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2281)
STDOUTに出力するコンソールアプリでいけます。 一般的に使われるLinuxサーバーで動かすにはLinuxで動くアプリケーションを作らないと行けないため、 Linux用クロスコンパイラ、またはLinuxで動くC#コンパイラが必要です。 Windowsサーバーなら.exeか.comで作って、 http://localhost/test.exe にアクセスすれば実行できます。 (拡張子.exeをCGIとして動作させるための設定が別途必要) > 一般的な「CGI・PHP可能」とあるサーバーで動かすことができるのでしょうか? 使用可能言語を確認して下さい。 @NiftyではPerl、PHPのみ許可していますが(Rubyもだったかもしれない)、Cなどのコンパイル型言語で作成したアプリケーションは許可していません。 あらかじめLinux用にコンパイルしておけば利用できるところもあります。
一般的な「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++でできるならやってみたいと思いました。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- Webアプリケーションを開発する時、「ASP.NET」、「PHP」、「CGI」、「Java」の長所短所がしりたい
自分は、ASP.NET+IISで開発をしてるものなんですが、社内の人間に 「ASP.NETが一番いいの?ネットみてるとPHPとかCGIとかのほうが一般的でサーバのUNIXが普通なんじゃないの?」 と言われてしまいました。 そこで、各開発ソフトの長所、短所を教えてください。 ※たしかに、インターネットサーフィンをしていると、「.php」、「.cgi」が多く見られるのに対し「.aspx」はほとんどみられない。理由があるんでしょうか
- ベストアンサー
- その他(プログラミング・開発)
- 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ケ月くらい 掛かりそうです。 一括コンパイルのような方法はありませんでしょうか? 一括でなくとも、ディレクトリごとでも構いません。 宜しくお願い致します。
- ベストアンサー
- C・C++・C#
お礼
遅くなって申し訳ありません。 ありがとうございました。