Windows 2003+IIS6,多线程问题求教
问题描述:
C#开发的一个网站,应业务需求将一个功能改为多线程执行,功能在开发者本机运行没有问题(Windows2008R2+IIS7);但是在发布到服务器(Windows2003+IIS6)上就不行。
为了测试问题,简化了需要执行方法,只是做记录日志,发现在服务器的日志只记录了开启线程之前的记录,说明程序根本就没有执行到多线程需要执行的方法。
简化代码如下:
public static void Method_MultiThread()
{
try{
Log("多线程开始");
Thread thread = new Thread(new ThreadStart(Method_Deal));
thread.Start();
}
}
private static void Method_Deal()
{
Log("线程方法执行中...");
}
注:Log方法只是做记录内容到txt文件。
发布服务器上运行,txt文件中只有“多线程开始”这一行记录;另外,这个处理方法是通过AJAX调用的,最后会报一个“向服务器下载资源失败”的JS错误,说明方法是Timeout了吗?
本人在服务器上装了VS2008,进行了调试,没有问题(调试环境是VS开发服务器,非IIS web服务器)。
个人判断问题可能原因以下(未确定,希望大家也能够给出其他的问题原因方向):
1. 是否与IIS版本有关(可能性较小,查了资料说,Windows 2000以上应该不会有问题)
2. 是否是进程下的线程数达到了限制(这里有个问题,该如何查看本站点的线程数量)
以上,还请有过类似经验的,或者大牛们出来给点意见,在线等哦!!!