Ciao,
ho realizzato un WS che funziona correttamente sul Server. Ho apportato alcune modifiche e ora quando viene invocato un web method tutto il server si pianta, perché non viene fornita la risposta al Client.
Ho provato a fare diversi test in locale (con DB Access in locale) e tutto funziona correttamente. Non ci sono loop e le connessioni al DB vengono chiuse dopo il loro utilizzo:
private OdbcDataReader GetSQLReader(string SQLString)
{
//LOCAL DB
OdbcConnection myConnection = new OdbcConnection(localConnectionString);
//REMOTE DB
// OdbcConnection myConnection = new OdbcConnection(remoteConnectionString);
OdbcCommand myCommand = new OdbcCommand(SQLString, myConnection);
myConnection.Open();
// Execute the DataReader and access the data.
OdbcDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}
private DataSet GetSQLReaderDataSet(string SQLString)
{
//LOCAL DB -- for DEBUG
OdbcConnection myConnection = new OdbcConnection(localConnectionString);
//REMOTE DB
// OdbcConnection myConnection = new OdbcConnection(remoteConnectionString);
OdbcCommand myCommand = new OdbcCommand(SQLString, myConnection);
myConnection.Open();
OdbcDataAdapter adapter = new OdbcDataAdapter();
adapter.SelectCommand = myCommand;
DataSet data = new DataSet();
adapter.Fill(data);
return data;
}
//To execute a query without the result (e.g. INSERT)
private int RunSQLString(string SQLString)
{
//LOCAL DB -- for DEBUG
OdbcConnection myConnection = new OdbcConnection(localConnectionString);
//REMOTE DB
// OdbcConnection myConnection = new OdbcConnection(remoteConnectionString);
OdbcCommand myCommand = new OdbcCommand(SQLString, myConnection);
myCommand.CommandType = CommandType.Text;
myConnection.Open();
int rowsAffected = myCommand.ExecuteNonQuery();
myConnection.Close();
return rowsAffected;
}
Da cosa potrebbe dipendere? Mi sapreste suggerire qualche test per capire il motivo per cui il LOCALE funziona ma in REMOTO no?
Grazie