Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde.
Estou a criar uma DLL que funciona como eu quero, o problema é que está muito lenta. Em testes na consola, demora 1 segundo, mas quando uso a DLL numa aplicação ela demora cerca de 30 segundos em média a executar.
A diferença de código entre os testes na consola e a DLL usada na aplicação são as seguintes:
static void startDll()
{
//Ler o ficheiro XML de configurações
ConnectionsSettings cnn = new ConnectionsSettings();
cnn.LoadXMLSettings();
Central ast = new Central(cnn._Exemplo, cnn._Exemplo1, cnn._Exemplo2);
ast.Number += new Central.AstEventHandler(printResult); //printResult é o metodo que devolve o valor
ast.Connect();
//na console application uso este código para ficar á espera que o evento seja disparado.
ConsoleKeyInfo cki;
x:
cki = Console.ReadKey();
if (cki.Key == ConsoleKey.Escape)
{
ast.Disconnect();
}
else
{
goto x;
}
//na dll final uso esta linha para ficar à espera.
//while (true) ;
}
Existe alguma forma de trocar o:
while (true) ;
por outra linha que seja mais rápida a devolver o número que pretendo?
O tempo de espera é mesmo demasiado.
Em testes na consola já usei o "while(true); e também ficava lento.
Obrigado em avanço.
Carregando comentários...