Мое приложение использует некоторые веб-сервисы и подключается к серверу и находится в системном трее. Приложение только читает из приложения третьей части (локального), которое используется для подключения к серверу. Если он читает какую-либо неподходящую строку, то запускает / обрабатывает соответствующие события. Это все. Был протестирован на наших нормальных рабочих системах, и он работает нормально. На моей системе Quad 2,66 ГГц и 3 ГБ оперативной памяти приложение потребляет 25 ЦП.
Недавно проверено на системе PIV 3,0 ГГц, содержащей 2 ГБ ОЗУ, приложение потребляет 98 ЦП.
Что это может быть? На лучшем процессоре приложение потребляет почти в 4 раза больше ресурсов процессора, чем мое. Почему так ? Какие могут быть причины для того же. Любые идеи, чтобы справиться с тем же.
После подключения этот код активен. Cmd запускается для использования стороннего приложения, и я использую этот код для чтения вывода того же самого:
private void Process_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
string d = e.Data;
if (!string.IsNullOrEmpty(d))
{
if (sb != null)
sb.Append(d + "\n");
//Console.WriteLine("LINE = " + d);
ERROR_CODE = -1;
if (d.IndexOf("Initialization Sequence Completed") >= 0)
{
connected = true;
Console.WriteLine("********* Connected = " + connected);
return;
} else if (isInValidLine(d))
{
if (d.IndexOf("Exiting") >= 0 || d.IndexOf("The requested name is valid but does not have an IP address.") >= 0)
{
if (caughtExp == false)
{
connected = false;
caughtExp = true;
errorMsg = d;
ERROR_CODE = ERROR_EXIT;
OnOpenVpnDisConnectionEvent();
}
}
else if (d.IndexOf("errno=", StringComparison.OrdinalIgnoreCase) > 0
|| d.IndexOf("error:2006D080", StringComparison.OrdinalIgnoreCase) >= 0
|| d.IndexOf("code=995", StringComparison.OrdinalIgnoreCase) >= 0
|| d.IndexOf("There are no TAP-Win32 adapters on this system", StringComparison.OrdinalIgnoreCase) >= 0
|| d.IndexOf("Error opening configuration file", StringComparison.OrdinalIgnoreCase) >= 0
|| (d.IndexOf("CreateIpForwardEntry: Access is denied.", StringComparison.OrdinalIgnoreCase) >= 0
&& d.IndexOf("[status=5 if_index=", StringComparison.OrdinalIgnoreCase) >= 0)
|| d.IndexOf("CreateFile failed on TAP device") >= 0 )
{
// Want to handle all and go for ReConnect, atmost possible
caughtExp = true;
connected = false;
errorMsg = d;
ERROR_CODE = ERROR_FATAL;
OnOpenVpnDisConnectionEvent();
}
return;
}
}
return;
}
private bool isInValidLine(string line)
{
if (line.IndexOf("errno=", StringComparison.OrdinalIgnoreCase) >= 0
|| line.IndexOf("error:2006D080", StringComparison.OrdinalIgnoreCase) >= 0
|| line.IndexOf("code=995", StringComparison.OrdinalIgnoreCase) >= 0
|| line.IndexOf("There are no TAP-Win32 adapters on this system", StringComparison.OrdinalIgnoreCase) >= 0
|| line.IndexOf("Error opening configuration file", StringComparison.OrdinalIgnoreCase) >= 0
|| line.IndexOf("Exiting") >= 0
|| line.IndexOf("The requested name is valid but does not have an IP address.") >= 0
|| line.IndexOf("CreateFile failed on TAP device") >= 0 // && (line.IndexOf("General failure (ERROR_GEN_FAILURE) (errno=31)") >= 0) )
)
{
return true;
}
return false;
}
Почему в этой системе так много ЦП?
Любая помощь высоко ценится.