我的需求:設計了兩個執行緒,兩個執行緒分別呼叫各自的方法,程式啟動后,無論什么操作,各自休眠1分鐘然后不斷呼叫各自的方法進行查詢實時資料
現在的問題:程式啟動,執行緒沒有被呼叫,打斷點無法命中。
請問各位大佬們,如何處理?嘗試過在web.config配置handlers節點,無效。
代碼如下(try catch代碼有點兒多,只列出了結構):
using System;
using System.Data;
using System.Configuration;
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.IO;
using System.Web;
using System.Threading;
using System.Text;
namespace .Application.OMIS
{
public class IIAPThread
{
private static Thread Update = new Thread(new ThreadStart(IIAPThread.thread1));//執行緒1
private static Thread JudgeNewData = new Thread(new ThreadStart(IIAPThread.thread2));//執行緒2
public static void thread1()
{
while (true)//每間隔1分鐘呼叫回圈內部方法進行查詢更新資料
{
Fun_Update_IIAP_LastYearRemainingNumber();
Thread.Sleep(60000);
}
}
//計算可申請額度值
private static void Fun_Update_IIAP_LastYearRemainingNumber()
{
try
{
}
catch (Exception eErr)
{
}
}
public static void thread2()
{
while (true)//每間隔1分鐘呼叫回圈內部方法進行查詢更新資料
{
Fun_JudgeNewData_IIAP_EnterpriseApplicationData();
Thread.Sleep(60000);
}
}
//對企業新申請資料進行處理
private static void Fun_JudgeNewData_IIAP_EnterpriseApplicationData()
{
try
{}
catch (Exception exp)
{
}
}
uj5u.com熱心網友回復:
沒看到啟動執行緒的代碼啊
uj5u.com熱心網友回復:
private static Thread Update = new Thread(new ThreadStart(IIAPThread.thread1));//執行緒1這是創建了一個執行緒 但是沒有啟動
Update.Start();才是啟動執行緒
uj5u.com熱心網友回復:
少貼了一段:private static Thread Update = new Thread(new ThreadStart(IIAPThread.thread1));
private static Thread JudgeNewData = new Thread(new ThreadStart(IIAPThread.thread2));
之后:
public static void startThread(){
Update.IsBackground = true;
Update.Start();
}
uj5u.com熱心網友回復:
哪里呼叫了startThreaduj5u.com熱心網友回復:
嘗試過在web.config配置handlers節點關鍵問題,web.config。那么問題就如樓上,你那個地方呼叫了?
解決方法:請找個地方呼叫他,具體怎么呼叫我們不好解釋,因為如果是iis他得再所謂得“iis預加載”處理
ps:一般來說application start可以,路由注入那塊也行,不過如果是iis承載還是離不開"iis預加載”,iis自己喜歡沒事重啟應用程式池
uj5u.com熱心網友回復:
我在另外一個.cs頁面代碼里,呼叫了 IIAPThread.startThread();using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ChinaCustoms.Application.OMIS
{
public class SysStartHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
IIAPThread.startThread();
}
public bool IsReusable {
get {
return false;
}
}
}
}
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
沒呼叫startThread功能。創建執行緒也可以用task轉載請註明出處,本文鏈接:https://www.uj5u.com/net/94784.html
標籤:C#
上一篇:c#表單 做個計算器
