2014-10-10 129 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的照顧。