我尝试用一个线程组成一个新类ProcessRequestThread:
public class ProcessRequestThread
{
private Thread ProcessThread;
private HttpListenerContext Context;
public ProcessRequestThread()
{
ProcessThread = new Thread( ProcessRequest );
ProcessThread.Start();
}
private void ProcessRequest(object contextObject)
{
Context = (HttpListenerContext)contextObject;
// handle request
if (someCondition())
{
EncapsulateMe(400, "Missing something");
}
else
{
EncapsulateMe(200, "Everything OK");
}
}
private void EncapsulateMe(int code, string description)
{
Context.Response.StatusCode = code;
Context.Response.StatusDescription = description;
}
}
但我对这个解决方案并不满意。。。对我来说似乎很重要。有人有更小/更好的主意吗?