コード例 #1
0
    private void DoGetPersonTreeAsync(Action <AreaNode> callback)
    {
        Log.Info("GetPersonTreeAsync Start >>>>>>>>>>");
        var clet = GetServiceClient();
        //Debug.LogError("BeginGetPersonTreeAsync........");
        int view = 2; //0:基本数据; 1:设备信息; 2:人员信息; 3:设备信息 + 人员信息

        clet.BeginGetPhysicalTopologyTreeNode(view, (ar) =>
        {
            AreaNode result = null;
            try
            {
                LocationServiceClient client = ar.AsyncState as LocationServiceClient;
                //Debug.LogError("EndGetPersonTreeAsync........");
                result = client.EndGetPhysicalTopologyTreeNode(ar);
                client.Close();//异步方式用完Close
            }
            catch (Exception ex)
            {
                LogError("CommunicationObject", ex.ToString());
            }
            DoCallBack(callback, result);
            if (result == null)
            {
                LogError("GetPersonTreeAsync", "result == null");
            }
            Log.Info("GetPersonTreeAsync End <<<<<<<<");
        }, clet);
        //clet.Close();
    }