线程池thread.pool中的委托WaitCallback能不能返回结果
sftrs 2013-05-03 12:08:18 使用线程池中我们使用WaitCallback时不需返回,方法一般都采用了空类型(使用VOID),但是我现在手上有一个方法,因为并发量很大,所以想使用线程池,同时这个方法是有返回类型的(返回的是字符串)。请问我怎么在WaitCallback中使得结果将以string类型返回。
方法如下:
public string getDataFromProc(string dataTableName)
{
String xml = "";
DataTable db2 = new DataTable();
XmlAnalysis al = new XmlAnalysis();
DataTable db = al.stringToDataTable(dataTableName);
Checkings ck = new Checkings();
Control cl = new Control();
bool b = ck.getAuthCode(db.Rows[0][0].ToString(), db.Rows[0][1].ToString());
if (b)
{
cl.AddParameter("@install", db.Rows[1][1].ToString());
for (int i = 2; i < db.Rows.Count; i++)//
{
cl.AddParameter("@" + db.Rows[i][0].ToString(), db.Rows[i][1].ToString());
}
db2 = cl.SelectToProc(db.Rows[1][0].ToString(), "");
}//修改成功,添加成功,删除成功
DataToXml dx = new DataToXml();
UTF8Encoding utf8 = new UTF8Encoding();
Byte[] encodedBytes = utf8.GetBytes(dx.DataTableToXml(db2));
String decodedString = utf8.GetString(encodedBytes);
//UrlEncode(dx.DataTableToXml(db2), Encoding.UTF8);
return decodedString;
}