का उपयोग कर डेटाटेबल लौटाएं मेरे पास एक तरीका है जो एक डेटाटेबल देता है। मैंने सोचा था कि .NET 4.0 का उपयोग करके मैं केवल एसिंक तर्क और डेटा लौटा सकता हूं। लेकिन यह कोड शून्य डेटाटेबल ऑब्जेक्ट देता है। कोई भी विचार इस कोड के साथ क्या गलत है।async .net 4.0
public DataTable GetData(string sql, string connectionName)
{
DataTable dt = (DataTable)GetDataAsync(sql, connectionName).AsyncState;
return dt;
}
private async Task<DataTable> GetDataAsync(string sql, string connectionName)
{
return await TaskEx.Run(() => { return FillData(sql, connectionName); });
}
private DataTable FillData(string sql, string connectionName)
{
SqlConnection conn = _connections.Where(w => w.ConnectionName == connectionName).Single().Connection;
SqlDataAdapter adp = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
adp.Fill(ds);
return ds.Tables[0];
}
आप .NET 4.0 या C# 4 के साथ 'async' /' await' का उपयोग नहीं कर सकते हैं। यह सी # 5 में एक नई सुविधा है, और .NET 4.5 में प्रकारों पर निर्भर करता है। –
जॉन - चूंकि वह TaskEx.Run का उपयोग कर रहा है, मुझे लगता है कि वह एसिंक लक्ष्यीकरण पैक का उपयोग कर रहा है, जो आपको 4.0 को लक्षित करने और एसिंक/await –