7 messaggi dal 15 maggio 2006
Ho un async web service 4.5 con questo codice
public async Task<int> UpdGaranzie(string xmlData)
{
try
{
using (SqlConnection objConn = new SqlConnection(base.ConnectionString))
{
using (SqlCommand cmdADO = new SqlCommand("spUpd_Garanzie", objConn))
{
cmdADO.Parameters.Add(new System.Data.SqlClient.SqlParameter("@XMLDoc", SqlDbType.Text));
cmdADO.Parameters["@XMLDoc"].Value = xmlData;
cmdADO.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", SqlDbType.Int));
cmdADO.Parameters["@RETURN_VALUE"].Direction = ParameterDirection.ReturnValue;
//
cmdADO.CommandType = CommandType.StoredProcedure;
//
await objConn.OpenAsync();
await cmdADO.ExecuteNonQueryAsync();
//cmdADO.ExecuteNonQuery();
return (int)cmdADO.Parameters["@RETURN_VALUE"].Value;
}
}
}
catch (Exception)
{
throw;
}
finally
{
}
}

Se io lo chiamo da code behind della pagina es. da Page_Load funziona , se lo chiamo da javascript con Jquery arrivato sulla linea dell' ExecuteNonQueryAsync esegue la stored su db ma non torna piu' al callback javascript.
Se io chiamo la stored sync (ExecuteNonQuery) invece funziona.
La chiamata js e'
$.ajax({
type: "POST",
url: "ws.asmx/UpdGaranzie",
data: strData,
async: true,
contentType: "application/json; charset=utf-8",
dataType: "json",
complete: saveGaranzie_onComplete
});

alla routine saveGaranzie_onComplete proprio non ci arriva, credo sia un problema di diverso thread.
Devo proprio lasciare la chiamata sync alla stored ? soluzioni ?
383 messaggi dal 23 aprile 2007
prova a dare un'occhiata qui:
http://stackoverflow.com/questions/10046012/jquery-async-true-call-to-net-web-service-not-working-asynchronously

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.