C#运行CGI程序实例
本文实例讲述了C#运行CGI程序的方法。分享给大家供大家参考。具体实现方法如下:
一、控制面板—>程序和功能—>打开或关闭Windows功能
把相关的功能勾上,点“确定”
二、新建一个网站,配置ISAPI和CGI限制、处理程序映射
三、CGI控制台应用程序代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace CGI
{
class Program
{
static int i = 0;
static void Main(string[] args)
{
Thread thread = new Thread(new ParameterizedThreadStart(delegate(object obj)
{
while (true)
{
if (i < 100)
{
i++;
Thread.Sleep(100);
}
else
{
string queryStr = Environment.GetEnvironmentVariable("QUERY_STRING");
string[] paramArr = queryStr.Split('&');
string[] keyValue = paramArr[0].Split('=');
Console.Write("Content-Type: text/html;charset=GB2312;\n\n");
Console.Write("{\"d\":\"您传入的参数为:" + keyValue[1] + ",输出结果为:" + i + "\"}");
Environment.Exit(0);
}
}
}));
thread.Start();
} // end of Main
} // end of Program
}
四、Web程序页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CGITest.aspx.cs" Inherits="Web监听.CGITest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="/JS/easyui/easyui.css" rel="stylesheet" type="text/css" />
<script src="/JS/jquery.min.js" type="text/javascript"></script>
<script src="/JS/easyui/jquery.easyui.min.js" type="text/javascript"></script>
<script src="/JS/SimpoWindow.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$.ajax({
type: "get",
url: "http://localhost:160/cgi.exe?data=abcd",
dataType: "json",
error: function (XMLHttpRequest, textStatus, errorThrown) {
$("#msg").html(textStatus);
},
success: function (data, textStatus) {
$("#msg").html(data.d);
}
});
//倒计时
UpdateTime(10);
});
//倒计时
function UpdateTime(n) {
if ($("#msg").html().indexOf("请等待") != -1) {
$("#msg").html("请等待(" + n + ")......");
if (n > 0) {
setTimeout(function () {
UpdateTime(n - 1);
}, 1000);
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="msg" style="text-align: center; vertical-align: middle;">
请等待......
</div>
</form>
</body>
</html>
希望本文所述对大家的C#程序设计有所帮助。