Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Como te avisé, desde el 1 de febrero de 2019

No se podrán escribir nuevos mensajes ni editar los existentes

En breve solo se mostrarán los mensajes con respuestas.
Posiblemente para el 1 de marzo, solamente se mostrarán los que tengan respuestas y estén marcados como respuesta válida.

  Foro: .NET General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 41177 - Tiempo de acceso a un metodo
IDAsuntoFechaNick 
41177 Tiempo de acceso a un metodo09/05/08 11:25RaYWoLF   
Buenas, me he encontrado con un problema que me tiene intrigado, a ver si me podéis ayudar.

Tengo una aplicación que al arrancar está tardando un tiempo excesivo y me he dado cuenta de que todo es culpa de un único método que se encarga de cargar la configuración de la aplicación. Lo primero que pensé es que la consulta en base de datos tardaba demasiado (aunque no debería), pero tras investigar un poco he visto que en lo que pierde todo el tiempo es en acceder desde .net a la funcion que se encarga de realizar la consulta.

Pongo el trozo de código que he utilizado para investigar esto:
--------------------------------------------------------
Console.WriteLine("Antes de consulta configuración " + DateTime.Now.ToLongTimeString());
DataTable dtConfig = Conexion.SelectConfig(select);
Console.WriteLine("Consulta configuración hecha" + DateTime.Now.ToLongTimeString());
--------------------------------------------------------
public static DataTable SelectConfig(string strSQL)
{
try
{
Console.WriteLine("Dentro de consulta " + DateTime.Now.ToLongTimeString());
DataSet dsResult = new DataSet();
DbCommand dbCommand = dbConfig.GetSqlStringCommand(strSQL);

// Retrieve the initial data
dbConfig.LoadDataSet(dbCommand, dsResult, "Tabla");

return dsResult.Tables[0];
}
catch (Exception ex)
{
Program.logger.Error(ex.Message);
Program.logger.Error(strSQL);
return null;
}
}
--------------------------------------------------------

Los tiempos que veo en la ventana "Output" son los siguientes:
--------------------------------------------------------
Antes de consulta configuración 13:09:03
'PROYECTO.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_es_b77a5c561934e089\mscorlib.resources.dll', No symbols loaded.
Dentro de consulta 13:09:19
'PROYECTO.exe' (Managed): Loaded 'C:\PROYECTO\bin\Debug\Microsoft.Practices.EnterpriseLibrary.Data.dll', No symbols loaded.
'PROYECTO.exe' (Managed): Loaded 'C:\PROYECTO\bin\Debug\Microsoft.Practices.EnterpriseLibrary.Common.dll', No symbols loaded.
'PROYECTO.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\System.Management\2.0.0.0__b03f5f7f11d50a3a\System.Management.dll', No symbols loaded.
'PROYECTO.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_32\System.Transactions\2.0.0.0__b77a5c561934e089\System.Transactions.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'PROYECTO.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'PROYECTO.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Consulta configuración hecha13:09:19
--------------------------------------------------------

Como se puede ver, tarda 16 segundos en entrar al método "SelectConfig" y por medio unicamente carga una dll. El método SelectConfig es un método estático que pertenece a una clase estática que utilizo para el acceso a base de datos (tengo un único objeto conexion). Estoy utilizando el módulo "Microsoft.Practices.EnterpriseLibrary.Data" para el acceso a datos, ya que así puedo utilizar un objeto de tipo "GenericDatabase" para conseguir independencia del tipo de base de datos utilizada.

¿Alguna idea de por donde puede estar el problema

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 09/06/2026 14:53:30 GMT