Пример #1
0
        // 从 dp2mserver 获得消息
        // 每次最多获得 100 条
        List <MessageRecord> GetMessage()
        {
            string            strError     = "";
            CancellationToken cancel_token = new CancellationToken();

            string            id      = Guid.NewGuid().ToString();
            GetMessageRequest request = new GetMessageRequest(id,
                                                              "",
                                                              this.GroupName, // "" 表示默认群组
                                                              "",
                                                              "",             // strTimeRange,
                                                              0,
                                                              100);

            try
            {
                MessageConnection connection = this.Channels.GetConnectionAsync(
                    this.Url,
                    "").Result;
                GetMessageResult result = connection.GetMessageAsync(
                    request,
                    new TimeSpan(0, 1, 0),
                    cancel_token).Result;
                if (result.Value == -1)
                {
                    goto ERROR1;
                }
                return(result.Results);
            }
            catch (AggregateException ex)
            {
                strError = MessageConnection.GetExceptionText(ex);
                goto ERROR1;
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                goto ERROR1;
            }
ERROR1:
            this.WriteLog("GetMessage() error: " + strError);
            return(new List <MessageRecord>());
        }