Я реализовал приложение Windows Forms, которое работает нормально, после этого я решил преобразовать приложение Windows Form в службу Windows,
EventLog.WriteEntry("Before Calling Invoices1");
эта строка является первой строкой службы, и она работает нормально, и я вижу журнал в окне просмотра событий,
следующая строка - это вызов функции
bool ff = LoginLogoutAction(true);
и первая строка в этой функции (LoginLogoutAction) -
EventLog.WriteEntry("inside LoginLogoutAction");
эта строка никогда не выполняется, и строка после вызова функции тоже никогда не выполняется. Я пытаюсь перехватить код везде, но код никогда не достигает перехвата, он просто останавливается, служба все еще работает, и то же самое происходит в следующий раз, когда служба выполняется ( служба выполняется каждую минуту)
Я отредактировал службу для входа в систему как администратор, но не решил проблему
Функция LoginLogoutAction:
private bool LoginLogoutAction(bool bLogin)
{
EventLog.WriteEntry("inside LoginLogoutAction");
try
{
strCurrentServiceURL = "https://10.0.0.10:50000/b1s/v1/";
currentConnectionInfo.CompanyDB = "ALLAYAN";
currentConnectionInfo.UserName = "manager";
currentConnectionInfo.Password = "1234";
if (bLogin)
{
EventLog.WriteEntry("Inside if statement");
//System.Windows.Forms.MessageBox.Show("Please wait while login...");
currentOdataService.InitServiceContainer(strCurrentServiceURL);
if (!currentConnectionInfo.IsValid())
{
EventLog.WriteEntry("Inside if not valid will get out login failed");
//System.Windows.Forms.MessageBox.Show("Make sure correct user name, password and company database provided");
return false;
}
EventLog.WriteEntry("before logging in");
B1Session session = currentOdataService.LoginServer(currentConnectionInfo);
EventLog.WriteEntry("after logging in");
if (null != session)
{
//bConnected = true;
string strDisplay = currentOdataService.GetRequestHeaders() + currentOdataService.GetResponsetHeaders() + Newtonsoft.Json.JsonConvert.SerializeObject(session, Newtonsoft.Json.Formatting.Indented);
return true;
}
else
{
EventLog.WriteEntry("Session is null");
return false;
//button9.BackColor = Color.Red;
//bConnected = false;
//button9.Text = "Login";
//System.Windows.Forms.MessageBox.Show("Failed to login, please make sure server is running and the credentials are correct.");
}
}
else
{
//bConnected = false;
currentOdataService.LogoutServer();
return true;
//button9.Text = "Login";
//button9.BackColor = Color.Empty;
//System.Windows.Forms.MessageBox.Show("Logout from service successfully");
}
return true;
}
catch (Exception ex)
{
EventLog.WriteEntry("Error while logging in " + ex.Message + ex.InnerException.Message);
return false;
}
}