0
我有一個正在工作的應用程序,並且具有可變數量的迭代的循環。我在這個循環中有一個函數調用。然後我試圖改變程序來啓動這個函數作爲一個單獨的線程。我設置了一個單元測試來運行,並且在完成任何工作之前應用程序停止運行。C#TPL應用程序停止運行
我已經設置了循環以在一個線程上進行一次迭代和調試。它在函數頂部附近停止運行,而不總是在同一行上,但在同一區域中,我試圖製作具有數據表和數據行的對象的副本,其中可以在每個線程中更改選擇。以下是代碼,並且在此區域中調試時它會一直停止,但到達的行會有所不同。
// main thread called by unit test
...
for(...
{
Task compute = Task.Factory.StartNew(() => results.Add(Compute(originalObject)));
}
...
private ReturnObject Compute(MyObject originalObject)
{
...
// near top of function after some assignment statements
// of some string and boolean variables
MyObject myObject = originalObject.Copy;
// never makes it to the next line
...
}
// MyObject class
private MyObject(DataTable dtTable)
{
_dataService = new DataService();
_dataTable = dtTable.Copy();
_dataRows = _dataTable.Select();
}
public MyObject Copy()
{
MyObject copy = new MyObject(_dtTable);
return copy;
}
// DataService class
public DataService()
{
_oleDbConnection = null;
}
入口點是什麼樣的?我的猜測是,這是一個控制檯應用程序,只要入口點代碼完成就會結束。但是,這只是一個猜測而沒有看到代碼 –