CgwMonitorManage.T28181.SipStackAdapter.SIP_CallBackThreadMethod C# (CSharp) Method

SIP_CallBackThreadMethod() private method

线程解析返回的xml
private SIP_CallBackThreadMethod ( object oPara ) : void
oPara object xml消息
return void
        private void SIP_CallBackThreadMethod(object oPara)
        {
            NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
            //logEx.Trace("Enter: SipStackAdapter.SIP_CallBackThreadMethod.pPara = {0}", oPara);

            try
            {
                string strBody = oPara as string;
                if (strBody == null)
                {
                    return;
                }
                if (strBody.IndexOf("Catalog") > -1)
                {
                    //logEx.Info("SipStackAdapter.SIP_CallBackThreadMethod strBody ={0}", strBody);

                    try
                    {
                        if (deviceItemOperateLock.TryEnterWriteLock(CgwConst.ENTER_LOCK_WAIT_TIME))
                        {
                            //首次返回需要获取设备总数
                            if (deviceNum == 0)
                            {
                                deviceNum = GetAllDeviceNum(strBody);
                                if (deviceNum == 0)
                                {
                                    logEx.Trace("SipStackAdapter.GetDeviceItem Start ReceivedAllDevice");
                                    // 接收完所有设备,通知上层处理单元
                                    ReceivedAllDevice(null, null);
                                    return;
                                }
                            }
                            if (deviceNum <= deviceList.Count)
                            {
                                return;
                            }

                            //获取返回的数据
                            GetDeviceItem(strBody);

                        }
                    }
                    finally
                    {
                        if (deviceItemOperateLock.IsWriteLockHeld)
                        {
                            deviceItemOperateLock.ExitWriteLock();
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                logEx.Error("SipStackAdapter.SIP_CallBackThreadMethod ,Exception:{0}", ex.ToString());
            }
        }