Ciao, ho un problema con una chiamata ajax:
al primo richiamo, funziona tutto correttamente, il problema è sul secondo richiamo: è come se non richiamasse la pagina, perchè non mi stampa nessuno dei trace che gli ho messo.
Quello che ho notato, è che se aspetto qualche minuto, tra una chiamata e l'altra, funziona tutto benissimo.

Al click su un bottone, richiamo la function lato client VINCOLI_SbloccaVincCont

allego sia il codice lato client,
codice:
var XMLHTTP;

function WEBAPPLICATION_CREATEXMLHTTPREQUEST() {

	if (window.ActiveXObject){
		XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		if (window.XMLHttpRequest){
			XMLHTTP = new XMLHttpRequest();
		}  
	} 
}

function VINCOLI_SbloccaVincCont(P_GuidV,P_GuidC,P_Provenienza) {

	WEBAPPLICATION_CREATEXMLHTTPREQUEST();


	XMLHTTP.onreadystatechange = showContents;
	XMLHTTP.open("GET","SBLOCCA.aspx?GuidV=" + P_GuidV + "&GuidC=" + P_GuidC + "&Provenienza=" + P_Provenienza, true);
	XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	XMLHTTP.send(null);
}

function showContents() 
{
	if (XMLHTTP.readyState == 4) 
	{
		if (XMLHTTP.status == 200) 
		{
			alert(XMLHTTP.responseText)	
		}
		else
		{
			alert(XMLHTTP.responseText)
		}
	}

}
sia il codice della pagina che richiamo
codice:
<%@ Page Language="VB" %>
<%@ Import NameSpace="System.Data.SqlClient" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<script runat="server"  runat="server">
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
	
		Trace.Warn("Richiamato")
		
        Dim Eccezione As Boolean = False        
        Dim GUID_V As String = Request.QueryString("GuidV")
        Dim GUID_C As String = Request.QueryString("GuidC")
        Dim Provenienza As String = Request.QueryString("Provenienza")
                       
        Try
            Select Case Provenienza
                Case "V"
                    SbloccaV(GUID_V)
                Case "C"
                    SbloccaC(GUID_C)
                Case Else
                    Throw New ApplicationException("Provenienta " & Provenienza & " non gestita")
            End Select
        Catch ApEx As ApplicationException
            Response.Write("Eccezione Applicativa: " & ApEx.Message)
            Response.End()
        Catch ex As Exception
            Response.Write("Eccezione Generica: " & ex.Message)
            Response.End()
        End Try
        
        Response.Write("Sblocco Avvenuto con successo")
        Response.End()
               
    End Sub
    
    Public Sub SbloccaV(ByVal GuidV As String)
        Dim Eccezione As Boolean = False
        Dim Sblocco As Integer
        Dim myTrans As SqlTransaction
        Dim ConnString As String = APPLICATION_GETCONNECTIONSTRING("KEY")
        Dim objConn As New SqlConnection(ConnString)
        
        Dim QuerySbloccaV As New StringBuilder()
        QuerySbloccaV.Append("UPDATE T_VNC_V SET UserLock=null,DataOraLock=null WHERE GUID_V='")
        QuerySbloccaV.Append(GuidV)
        QuerySbloccaV.Append("'")
        
        Dim QuerySbloccaC As New StringBuilder()
        QuerySbloccaC.Append("UPDATE T_VNC_C SET UserLock=null,DataOraLock=null WHERE GUID_V='")
        QuerySbloccaC.Append(GuidV)
        QuerySbloccaC.Append("'")
        
        Try
            objConn.Open()
            myTrans = objConn.BeginTransaction()
            
            Dim objCmdV As New SqlCommand(QuerySbloccaV.ToString(), objConn)
			objCmdV.Transaction = myTrans
            Sblocco = objCmdV.ExecuteNonQuery()
            
            Dim objCmdC As New SqlCommand(QuerySbloccaC.ToString(), objConn)
            objCmdC.Transaction = myTrans
            Sblocco = objCmdV.ExecuteNonQuery()
            
            myTrans.Commit()
            
                                    
        Catch SqlEx As SqlException
            myTrans.Rollback()
            Response.Write("Eccezione Sql in Sub SbloccaV: " & SqlEx.Message)
            Eccezione = True
        Catch ex As Exception
            myTrans.Rollback()
            Response.Write("Eccezione generica in Sub SbloccaV: " & ex.Message)
            Eccezione = True
            
        Finally
            objConn.Close()
            If Eccezione Then
                Response.End()
            End If
        End Try
        
    End Sub
    
    Public Sub SbloccaC(ByVal GuidC As String)
        Dim Eccezione As Boolean = False
        Dim Sblocco As Integer
        Dim myTrans As SqlTransaction
        Dim ConnString As String = APPLICATION_GETCONNECTIONSTRING("KEY")
        Dim objConn As New SqlConnection(ConnString)
        
        Try
            objConn.Open()            
            myTrans = objConn.BeginTransaction()
            
            Dim QuerySbloccoContratti As New StringBuilder()
            QuerySbloccoContratti.Append("UPDATE T_VNC_C SET UserLock=null,DataOraLock=null WHERE GUID_C='")
            QuerySbloccoContratti.Append(GuidC)
            QuerySbloccoContratti.Append("'")
            
            
            
            Dim objCmd As New SqlCommand(QuerySbloccoC.ToString(), objConn)
            objCmd.Transaction = myTrans
            Sblocco = objCmd.ExecuteNonQuery()
            
            myTrans.Commit()
            
        Catch SqlEx As SqlException
            
            myTrans.Rollback()
            Response.Write("Eccezione sql in sub SbloccaC: " & SqlEx.Message)
            Eccezione = True
        Catch ex As Exception
            myTrans.Rollback()
            Response.Write("Eccezione generica in sub SbloccaC: " & ex.Message)
            Eccezione = True
          
        Finally
            objConn.Close()
            If Eccezione Then
                Response.End()
            End If
            
        End Try
    End Sub
</script>

<html>
<head>	
    <title>Sblocca</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>
al priimo click del bottone, funziona tutto, vedo anche la riga della trace
al secondo click, effettuato subito dopo
mi da subito il messaggio "Sblocco Avvenuto con successo", ma di fatto sul database non fa nulla (nonostante abbia risettato i valori con dei valori non null), e sulla pagina del trace, non vedo nemmeno che la pagina è stata richiamata...

Spero di essere stato chiaro,
Grazie!