sorry,没有看清你的是Web服务,不过估计也可以按照下面的方法做。
如果是普通的HTTP请求,可以这样:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Threading;
using System.Collections.Generic;
/// <summary>
/// Calculate 的摘要说明
/// </summary>
public class Calculate
{
bool c = true;
Thread _t = null;
static List<Job> Jobs = null;
public Calculate()
{
Jobs = new List<Job>();
}
public void Start()
{
_t = new Thread(new ThreadStart(Calc));
_t.Start();
}
public class Job
{
private int a = 0;
public int A { get { return a; } }
private int b = 0;
public int B { get { return b; } }
private HttpContext context;
private bool finished = false;
public bool Finished { get { return finished; } }
public Job(int a, int b, HttpContext context)
{
this.a = a;
this.b = b;
this.context = context;
}
public class WorkModule : System.Web.IHttpModule
{
#region IHttpModule 成员
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
int a = Convert.ToInt32(app.Context.Request.QueryString["a"]);
int b = Convert.ToInt32(app.Context.Request.QueryString["b"]);
Job j = new Job(a, b, app.Context);
Calculate.AppendJob(j);