public Cgw.SmcError.SmcErr Connect(string monitorPwd)
{
NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
logEx.Info("Enter: CgwMonitorManageAdapter.Connect");
Cgw.SmcError.SmcErr err = new Cgw.SmcError.SmcErr();
try
{
if (serviceControl.MonitorServiceRun())
{
logEx.Info("CgwMonitorManageAdapter.Connect Opened");
client = new MonitorManageServiceClient();
CgwMonitorManageServiceReference.SmcErr serviceErr = client.Connect(out monitorPwd);
sessionID = monitorPwd;
client.Close();
if (serviceErr.ErrNo != Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_SUCCESS)
{
logEx.Error("CgwMonitorManageAdapter.Connect failed. ErrNo = {0} ", serviceErr.ErrNo);
err = SetCgwErrNo(serviceErr);
}
}
else
{
logEx.Info("CgwMonitorManageAdapter.Connect MonitorServiceStart");
err.SetErrorNo(Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_RESTARTING);
serviceControl.MonitorServiceStart();//自动重连监控服务
}
}
catch (System.Exception ex)
{
err.SetErrorNo(Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_RESTARTING);
logEx.Error("CgwMonitorManageServiceReference.Connect failed. Exception is {0} ", ex.ToString());
}
return err;
}