我在WCF服务中实现了异步方法,我发现Async只返回三种返回类型 -
Task<T>
现在我面临的数据类型转换如下面的代码所示。
调用返回类型的异步方法Task
public async Task<DataView> ExecuteDV(SqlCommand sqlCommand)
{
exceptionMessage = string.Empty;
resultType = (int)Helper.ServiceActionType.Success;
var table = new DataTable();
DataView dv = null;
try
{
using (SqlConnection con = new SqlConnection(DBAccess.ConnString))
{
sqlCommand.Connection = con;
con.Open();
SqlDataReader dr = sqlCommand.ExecuteReader();
table.Load(dr);
if (table.Rows != null && table.Rows.Count > 0)
{
dv = table.DefaultView;
}
else
{
resultType = (int)Helper.ServiceActionType.DataNotFound;
}
con.Close();
}
}
finally
{
//Logging Code
}
return dv;
}
调用方法,其数据类型为DataView。现在我希望ExecuteDV(sqlCommand)转换回DataView。因为在其他方法中我将返回参数映射到相应的字段。
public DataView RetrieveHushDailySummaryRecords(SqlCommand sqlCommand)
{
return ExecuteDV(sqlCommand);
}