2014-10-10 130 views
0

我有以下结构:异步功能

这是我的控制器:

Public Function InsertRegistration() as string 

      dim res = t.Insertregistration(jsonparam.status) 

      return res 
    End Function 

这是我的课:

Public Function InsertRegistration(byval status as string) as string 

     sql.Insertregistration(status) 

     return "1" 

    End Function 

这是我的模型功能:

Public Function InsertRegistration(ByVal status As String) As Boolean 
    Dim TConnSQL As New SqlConnection(sql) 
    Dim CommSQL As New SqlClient.SqlCommand("JK_SP_INSERT_PROFILE", TConnSQL) 
    Dim paramSQL As SqlClient.SqlParameter 
    Dim data_ada As SqlDataAdapter 
    Dim dt As DataSet 
    Try 

     CommSQL.CommandType = CommandType.StoredProcedure 

     paramSQL = New SqlClient.SqlParameter("@STATUS", SqlDbType.NVarChar, 100) 
     paramSQL.Direction = ParameterDirection.Input 
     paramSQL.Value = STATUS 
     CommSQL.Parameters.Add(paramSQL) 

     CommSQL.ExecuteNonQuery() 

     InsertRegistration= True 

    Catch ex As System.Data.SqlClient.SqlException 
     WriteToText("Nbl.InsertRegistration", ex.ToString) 
     InsertRegistration= False 
    Catch ex As Exception 
     WriteToText("Nbl.InsertRegistration", ex.ToString) 
     InsertRegistration= False 
    Finally 
     If (IsNothing(CommSQL) = False) Then CommSQL.Dispose() 
     If TConnSQL.State <> ConnectionState.Closed Then TConnSQL.Close() 
    End Try 
End Function 

有没有办法r以异步的方式改变结果1,函数sql.Insertregistration(status)在将结果返回给客户端后继续在后台运行?

回答

0

简单地说你的函数sql.Insertregistration(status)如下代码:

(new Task<bool>(() => 
{ 
    return sql.Insertregistration(status); 
})).Start(); 

注:请把横线ooperations的照顾。