public Cgw.SmcError.SmcErr Disconnect()
{
NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
logEx.Trace("Enter: CgwMonitorManageAdapter.Disconnect");
Cgw.SmcError.SmcErr err = new Cgw.SmcError.SmcErr();
try
{
//判断Monitor服务是否在线,在线调用DisConnect方法
if (serviceControl.MonitorServiceRun())
{
client = new MonitorManageServiceClient();
CgwMonitorManageServiceReference.SmcErr serviceErr = client.Disconnect();
client.Close();
if (serviceErr.ErrNo != Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_SUCCESS)
{
logEx.Error("CgwMonitorManageAdapter.Disconnect failed. ErrNo = {0} ", serviceErr.ErrNo);
err = SetCgwErrNo(serviceErr);
}
}
else //不在线,无需调用DisConnect方法
{
logEx.Info("CgwMonitorManageAdapter.Disconnect,MonitorManage Stopped");
}
}
catch (System.Exception ex)
{
err.SetErrorNo(Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_RESTARTING);
logEx.Error("CgwMonitorManageServiceReference.Disconnect failed. Exception is {0} ", ex.ToString());
}
return err;
}