Esempio n. 1
0
 public override async Task GetMessages(GetMessageRequest request, IServerStreamWriter <ChatMessage> responseStream, ServerCallContext context)
 {
     foreach (var msg in _db.MessageBoard)
     {
         await responseStream.WriteAsync(DBMessageConversion(msg));
     }
 }
Esempio n. 2
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("Starting...");
            var serverAddress     = "https://localhost:5001";
            var httpClientHandler = new HttpClientHandler
            {
                ServerCertificateCustomValidationCallback =
                    HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
            };
            var httpClient = new HttpClient(httpClientHandler);
            var channel    = GrpcChannel.ForAddress(serverAddress, new GrpcChannelOptions {
                HttpClient = httpClient
            });
            var _client = new MessageService.MessageServiceClient(channel);

            // example 1
            var request = new GetMessageRequest {
                Id = "6523"
            };
            var response = _client.GetMessage(request);

            Console.WriteLine($"Server response: {response.Message} {response.Value1} {response.Value2}");

            // example 2
            var stream = _client.GetMessagesStream(request);

            while (await stream.ResponseStream.MoveNext(CancellationToken.None))
            {
                Console.WriteLine($"{stream.ResponseStream.Current.Message} {stream.ResponseStream.Current.Value1}");
            }

            Console.WriteLine(stream.GetStatus());
        }
Esempio n. 3
0
        public async Task <ShareModel?> GetMessage(string ethAddress, string hash, string skylink)
        {
            string url = baseUrl + "/share/get";

            skylink = skylink.Replace("sia://", string.Empty);

            GetMessageRequest reqModel = new GetMessageRequest()
            {
                Address    = ethAddress,
                SecretHash = hash,
                Skylink    = skylink
            };

            HttpClient client = new HttpClient();
            var        result = await client.PostAsJsonAsync(url, reqModel);

            if (result.IsSuccessStatusCode)
            {
                var json = await result.Content.ReadAsStringAsync();

                var shareModel = JsonSerializer.Deserialize <ShareModel>(json);

                if (shareModel?.Sum?.ShareOrigin != null)
                {
                    shareModel.Sum.ShareOrigin = null;
                }

                return(shareModel);
            }

            return(null);
        }
 public override Task <GetMessageResponse> GetMessage(GetMessageRequest request, ServerCallContext context)
 => Task.FromResult(new GetMessageResponse
 {
     Id     = "Value",
     Value1 = 12,
     Value2 = 12.32
 });
Esempio n. 5
0
 public override Task <GetMessageResponse> GetMessage(GetMessageRequest request, ServerCallContext context)
 => Task.FromResult(new GetMessageResponse
 {
     Message = $"Some message from server",
     Value1  = 256,
     Value2  = 214.35
 });
Esempio n. 6
0
        public IActionResult Message(string id)
        {
            var request = new GetMessageRequest()
            {
                MessageId = id
            };
            var response = _getMessage.Handle(request);

            return(Ok(response.Message));
        }
Esempio n. 7
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,
                                                              "",             // sort
                                                              "",             //id
                                                              "",             // subject
                                                              0,
                                                              100);

            try
            {
                MessageConnection connection = this.Channels.GetConnectionTaskAsync(
                    this.Url,
                    "").Result;
#if NO
                GetMessageResult result = connection.GetMessage(
                    request,
                    new TimeSpan(0, 1, 0),
                    cancel_token).Result;
#endif
                GetMessageResult result = connection.GetMessage(
                    request,
                    new TimeSpan(0, 1, 0),
                    cancel_token);

                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:
            WriteErrorLog("GetMessage() error: " + strError);
            return(new List <MessageRecord>());
        }
        public override async Task GetMessagesStream(GetMessageRequest request, IServerStreamWriter <GetMessageResponse> responseStream, ServerCallContext context)
        {
            await responseStream.WriteAsync(new GetMessageResponse { Id = "1", Value1 = 1, Value2 = 1 });

            await Task.Delay(3000);

            await responseStream.WriteAsync(new GetMessageResponse { Id = "1", Value1 = 1, Value2 = 1 });

            await Task.Delay(3000);

            await responseStream.WriteAsync(new GetMessageResponse { Id = "1", Value1 = 1, Value2 = 1 });
        }
Esempio n. 9
0
        public override async Task GetMessagesStream(GetMessageRequest request, IServerStreamWriter <GetMessageResponse> responseStream, ServerCallContext context)
        {
            var random = new Random();

            for (int i = 1; i <= 10; ++i)
            {
                // simulate some work
                var delay = random.Next(100, 2000);
                await Task.Delay(delay);

                await responseStream.WriteAsync(new GetMessageResponse { Message = $"Step: {i}", Value1 = delay, Value2 = delay * delay });
            }
        }
 /// <summary>Snippet for GetMessage</summary>
 public void GetMessageRequestObject()
 {
     // Snippet: GetMessage(GetMessageRequest, CallSettings)
     // Create client
     MessagesClient messagesClient = MessagesClient.Create();
     // Initialize request argument(s)
     GetMessageRequest request = new GetMessageRequest
     {
         MessageName = MessageName.FromProjectMessage("[PROJECT]", "[MESSAGE]"),
     };
     // Make the request
     Message response = messagesClient.GetMessage(request);
     // End snippet
 }
Esempio n. 11
0
        public async stt::Task GetMessageResourceNamesAsync()
        {
            moq::Mock <Messages.MessagesClient> mockGrpcClient = new moq::Mock <Messages.MessagesClient>(moq::MockBehavior.Strict);
            GetMessageRequest request = new GetMessageRequest
            {
                MessageName = MessageName.FromProjectMessage("[PROJECT]", "[MESSAGE]"),
            };
            Message expectedResponse = new Message
            {
                MessageName           = MessageName.FromProjectMessage("[PROJECT]", "[MESSAGE]"),
                To                    = "to03e2b601",
                From                  = "fromf8078ad9",
                Body                  = "body682d1a84",
                StatusUpdateUrl       = "status_update_url6240cc54",
                ReplyUrl              = "reply_urla9dcb82b",
                ValidityPeriodSeconds = 1525204720,
                SmartEncoding         = true,
                Direction             = Message.Types.Direction.Incoming,
                ErrorCode             = "error_code42bd958e",
                ErrorMessage          = "error_messaged73952bd",
                SegmentCount          = 45476232,
                Price                 = new gt::Money(),
                Status                = Message.Types.Status.Sending,
                CreateIdentity        = "create_identityc92d734f",
                CreateTime            = new wkt::Timestamp(),
                SendTime              = new wkt::Timestamp(),
                DeliverTime           = new wkt::Timestamp(),
                Labels                =
                {
                    {
                        "key8a0b6e3c",
                        "value60c16320"
                    },
                },
                Classification             = Message.Types.MessageClassification.Marketing,
                UnsubscribeContentBehavior = Message.Types.UnsubscribeContentBehavior.AppendUrl,
                Encoding = Message.Types.MessageEncoding.Gsm7,
            };

            mockGrpcClient.Setup(x => x.GetMessageAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <Message>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            MessagesClient client = new MessagesClientImpl(mockGrpcClient.Object, null);
            Message        responseCallSettings = await client.GetMessageAsync(request.MessageName, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            Message responseCancellationToken = await client.GetMessageAsync(request.MessageName, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }
Esempio n. 12
0
        // 从 dp2mserver 获得消息
        // 每次最多获得 100 条
        List <MessageRecord> GetMessage()
        {
            string            strError     = "";
            CancellationToken cancel_token = new CancellationToken();

            string            subjectCondition = "";
            string            id      = Guid.NewGuid().ToString();
            GetMessageRequest request = new GetMessageRequest(id,
                                                              "",
                                                              this.GroupName,    // "" 表示默认群组
                                                              "",
                                                              "",                // strTimeRange,
                                                              "publishTime|asc", //sortCondition 按发布时间正序排
                                                              "",
                                                              subjectCondition,
                                                              0,
                                                              100);

            try
            {
                MessageConnection connection = this.Channels.GetConnectionTaskAsync(
                    this.Url,
                    dp2WeiXinService.C_ConnName_TraceMessage).Result;
                GetMessageResult result = connection.GetMessage(request,
                                                                new TimeSpan(0, 1, 0),
                                                                cancel_token);
                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:
            dp2WeiXinService.Instance.WriteErrorLog("GetMessage() error: " + strError);
            //this.WriteLog("GetMessage() error: " + strError,dp2WeiXinService.C_LogLevel_1);
            return(new List <MessageRecord>());
        }
        /// <summary>
        /// Return first unread message and mark Message as received
        /// </summary>
        public Task <GetMessageResponse> GetFirstUnreadMessage(GetMessageRequest request)
        {
            foreach (var msg in _messages)
            {
                if (msg.RecipientId == request.RecipientId && !msg.DeliveredToRecipient)
                {
                    var receivedMessage = msg;
                    msg.MarkAsReceived();

                    return(Task.FromResult(new GetMessageResponse {
                        SenderId = msg.SenderId, Content = msg.Content
                    }));
                }
            }

            return(Task.FromResult(new GetMessageResponse()));
        }
        /// <summary>Snippet for GetMessageAsync</summary>
        public async Task GetMessageRequestObjectAsync()
        {
            // Snippet: GetMessageAsync(GetMessageRequest, CallSettings)
            // Additional: GetMessageAsync(GetMessageRequest, CancellationToken)
            // Create client
            MessagesClient messagesClient = await MessagesClient.CreateAsync();

            // Initialize request argument(s)
            GetMessageRequest request = new GetMessageRequest
            {
                MessageName = MessageName.FromProjectMessage("[PROJECT]", "[MESSAGE]"),
            };
            // Make the request
            Message response = await messagesClient.GetMessageAsync(request);

            // End snippet
        }
        public HttpResponseMessage getMessage(string user, [FromBody] GetMessageRequest request)
        {
            if (UserDAO.Instance.isExists(user))
            {
                User u = UserDAO.Instance.findByUsername(user);

                if (u.messages.Count != 0)
                {
                    //Timestamp prüfen
                    Double   unixtimeDouble = Convert.ToDouble(request.timestamp);
                    DateTime timestamp      = Util.Converter.UnixTimeStampToDateTime(unixtimeDouble)
                                              .AddMinutes(5);

                    if (DateTime.Now > timestamp)
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Timestamp ungültig"));
                    }

                    //Inhalt der Anfrage gegen die Signatur prüfen
                    string publickey = Util.Converter.Base64StringToString(u.pubkey);
                    if (!VerifyLogic.verifyGetMessageRequest(request.timestamp, u.username, request.dig_sig, publickey))
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Signatur ungültig"));
                    }

                    //Die erste Nachricht holen
                    var msg = UserDAO.Instance.getFirstMessage(u);
                    if (msg != null)
                    {
                        MessageResponse msg_r = new MessageResponse();
                        msg_r.cipher            = msg.cipher;
                        msg_r.iv                = msg.iv;
                        msg_r.key_recipient_enc = msg.key_recipient_enc;
                        msg_r.sender            = msg.sender;
                        msg_r.sig_recipient     = msg.sig_recipient;

                        UserDAO.Instance.removeMessage(u, msg);

                        return(Request.CreateResponse(HttpStatusCode.OK, msg_r));
                    }
                }
            }
            return(new HttpResponseMessage(HttpStatusCode.NotFound));
        }
Esempio n. 16
0
        private void updateMessagies(Conversation conv)
        {
            RequestResponse   resp;
            GetMessageRequest request = new GetMessageRequest();
            List <String>     args    = new List <string>();

            resp = request.SendRequest(args);
            if (resp == Request.SuccessResponse)
            {
                this.ChatTextBox.Text = "";
                this.ChatTextBox.Text = resp.Data;
                return;
            }
            if (resp == Request.NetworkErrorResponse)
            {
                this.ChatStatusLabel.Text = "Network Unreacheble";
            }
            else
            {
            }
        }
Esempio n. 17
0
        public async Task <string> GetMessage([FromBody] GetMessageRequest req)
        {
            //Check hash
            var hashKey = SiaSkynetClient.GenerateKeys(req.Address);

            var cipherData = Utils.HexStringToByteArray(req.SecretHash);
            var decrypt    = Utils.Decrypt(cipherData, hashKey.privateKey);

            if (decrypt == null)
            {
                throw new Exception("Invalid hash.");
            }


            string address = req.Address.ToLowerInvariant();
            string seed    = $"{secretConfig.SkynetSeed}-{address}";
            var    key     = SiaSkynetClient.GenerateKeys(seed);

            var encryptedData = await client.DownloadFileAsByteArrayAsync(req.Skylink);

            var data = Utils.Decrypt(encryptedData.file, key.privateKey);

            return(Encoding.UTF8.GetString(data));
        }
Esempio n. 18
0
 public override Task <MessageResponse> GetMessage(GetMessageRequest request, ServerCallContext context)
 {
     return(Task.FromResult(new MessageResponse {
         Message = this.repository.GetMessage(request.Recipient)
     }));
 }
Esempio n. 19
0
        public async Task <MessageResult> GetMessageAsyncLite(
            GetMessageRequest request,
            Delegate_outputMessage proc,
            TimeSpan timeout,
            CancellationToken token)
        {
            MessageResult result = new MessageResult();

            if (string.IsNullOrEmpty(request.TaskID) == true)
            {
                request.TaskID = Guid.NewGuid().ToString();
            }

            long recieved = 0;

            StringBuilder cache = new StringBuilder();

            using (WaitEvents wait_events = new WaitEvents())    // 表示中途数据到来
            {
                using (var handler = HubProxy.On <
                           string, long, long, IList <MessageRecord>, string, string>(
                           "responseGetMessage",
                           (taskID, resultCount, start, records, errorInfo, errorCode) =>
                {
                    if (taskID != request.TaskID)
                    {
                        return;
                    }

                    if (resultCount == -1 || start == -1)
                    {
                        if (start == -1)
                        {
                            // 表示发送响应过程已经结束。只是起到通知的作用,不携带任何信息
                            // result.Finished = true;
                        }
                        else
                        {
                            result.Value = resultCount;
                            result.ErrorInfo = errorInfo;
                            result.String = errorCode;
                        }
                        wait_events.finish_event.Set();
                        return;
                    }

                    proc(
                        cache,
                        resultCount,
                        start,
                        records,
                        errorInfo,
                        errorCode);

                    if (records != null)
                    {
                        recieved += GetCount(records);      // records.Count;
                    }
                    if (errorCode == "_complete")
                    {
                        result.Value = resultCount;
                        wait_events.finish_event.Set();
                        return;
                    }

                    if (resultCount >= 0 &&
                        IsComplete(request.Start, request.Count, resultCount, recieved) == true)
                    {
                        wait_events.finish_event.Set();
                    }
                    else
                    {
                        wait_events.active_event.Set();
                    }
                }))
                {
                    MessageResult temp = await HubProxy.Invoke <MessageResult>(
                        "RequestGetMessage",
                        request).ConfigureAwait(false);

                    if (temp.Value == -1 || temp.Value == 0 || temp.Value == 2)
                    {
                        return(temp);
                    }

                    // result.String 里面是返回的 taskID

                    await WaitAsync(
                        request.TaskID,
                        wait_events,
                        timeout,
                        token).ConfigureAwait(false);

                    return(result);
                }
            }
        }
Esempio n. 20
0
 /// <summary>
 /// Retrieves a Message identified by the supplied resource name.
 ///
 /// The caller must have `messaging.messages.get` permission on the project.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>The RPC response.</returns>
 public virtual Message GetMessage(GetMessageRequest request, gaxgrpc::CallSettings callSettings = null) =>
 throw new sys::NotImplementedException();
Esempio n. 21
0
 /// <summary>
 /// Retrieves a Message identified by the supplied resource name.
 ///
 /// The caller must have `messaging.messages.get` permission on the project.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public override stt::Task <Message> GetMessageAsync(GetMessageRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_GetMessageRequest(ref request, ref callSettings);
     return(_callGetMessage.Async(request, callSettings));
 }
 public override Task <GetMessageResponse> GetFirstUnreadMessage(GetMessageRequest request, ServerCallContext context)
 {
     return(new MessageRequestHandler(_users, _messages).GetFirstUnreadMessage(request));
 }
Esempio n. 23
0
        int _inGetMessage = 0;  // 防止因为 ConnectionStateChange 事件导致重入

        // 装载已经存在的消息记录
        async void DoLoadMessage(string strGroupName,
            string strTimeRange,
            bool bClearAll)
        {
            if (_inGetMessage > 0)
                return;

            _inGetMessage++;
            try
            {
                string strError = "";

                if (this.MainForm == null)
                    return;

                // TODO: 如果当前 Connection 尚未连接,则要促使它连接,然后重试 load
                if (this.MainForm.MessageHub.IsConnected == false)
                {
                    if (_redoLoadMesssageCount < 5)
                    {
                        AddErrorLine("当前点对点连接尚未建立。重试操作中 ...");
                        this.MainForm.MessageHub.Connect();
                        Thread.Sleep(5000);
                        _redoLoadMesssageCount++;
                        Task.Factory.StartNew(() => DoLoadMessage(strGroupName, strTimeRange, bClearAll));
                        return;
                    }
                    else
                    {
                        AddErrorLine("当前点对点连接尚未建立。停止重试。消息装载失败。");
                        _redoLoadMesssageCount = 0; // 以后再调用本函数,就重新计算重试次数
                        return;
                    }
                }

                if (bClearAll)
                {
                    this.Invoke((Action)(() => this.ClearHtml()));
                    _lastMessage = null;
                }
                this.Invoke((Action)(() => this.HtmlWaiting(this.webBrowser1, "正在获取消息,请等待 ...")));

                EnableControls(false);
                try
                {
                    CancellationToken cancel_token = new CancellationToken();

                    string id = Guid.NewGuid().ToString();
                    GetMessageRequest request = new GetMessageRequest(id,
                        strGroupName, // "<default>" 表示默认群组
                        "",
                        strTimeRange,
                        0,
                        -1);
                    try
                    {
                        MessageResult result = await this.MainForm.MessageHub.GetMessageAsync(
                            request,
                            FillMessage,
                            new TimeSpan(0, 1, 0),
                            cancel_token);
#if NO
                    this.Invoke(new Action(() =>
                    {
                        SetTextString(this.webBrowser1, ToString(result));
                    }));
#endif
                        if (result.Value == -1)
                        {
                            //strError = result.ErrorInfo;
                            //goto ERROR1;
                            this.AddErrorLine(result.ErrorInfo);
                        }
                    }
                    catch (AggregateException ex)
                    {
                        strError = MessageConnection.GetExceptionText(ex);
                        goto ERROR1;
                    }
                    catch (Exception ex)
                    {
                        strError = ex.Message;
                        goto ERROR1;
                    }
                    return;
                }
                finally
                {
                    EnableControls(true);
                    this.Invoke((Action)(() => this.HtmlWaiting(this.webBrowser1, "")));
                }
            ERROR1:
                this.Invoke((Action)(() => MessageBox.Show(this, strError)));
            }
            finally
            {
                _inGetMessage--;
            }
        }
Esempio n. 24
0
 /// <summary>
 /// Retrieves a Message identified by the supplied resource name.
 ///
 /// The caller must have `messaging.messages.get` permission on the project.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>The RPC response.</returns>
 public override Message GetMessage(GetMessageRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_GetMessageRequest(ref request, ref callSettings);
     return(_callGetMessage.Sync(request, callSettings));
 }
 public GetMessageResponse GetMessage(GetMessageRequest request)
 {
     return new GetMessageResponse() { Message = "Hello " + request.Name };
 }
Esempio n. 26
0
 /// <summary>
 /// Begin a new GetMessageRequest
 /// </summary>
 /// <param name="requestData"></param>
 /// <returns></returns>
 public GetMessageResponse GetMessageRequest(GetMessageRequest requestData)
 {
     return(JsonConvert.DeserializeObject <GetMessageResponse>(Requestor.PostString(Urls.GetMessageRequest, JsonHelper.SerializeData(requestData)).ResponseJson));
 }
Esempio n. 27
0
 /// <summary>
 /// Retrieves a Message identified by the supplied resource name.
 ///
 /// The caller must have `messaging.messages.get` permission on the project.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="cancellationToken">A <see cref="st::CancellationToken"/> to use for this RPC.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public virtual stt::Task <Message> GetMessageAsync(GetMessageRequest request, st::CancellationToken cancellationToken) =>
 GetMessageAsync(request, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
Esempio n. 28
0
        int _inGetMessage = 0;  // 防止因为 ConnectionStateChange 事件导致重入

        // 装载已经存在的消息记录
        async void DoLoadMessage(string strGroupName,
                                 string strTimeRange,
                                 bool bClearAll)
        {
            if (_inGetMessage > 0)
            {
                return;
            }

            _inGetMessage++;
            try
            {
                string strError = "";

                if (Program.MainForm == null)
                {
                    return;
                }

                // TODO: 如果当前 Connection 尚未连接,则要促使它连接,然后重试 load
                if (Program.MainForm.MessageHub.IsConnected == false)
                {
                    if (_redoLoadMesssageCount < 5)
                    {
                        AddErrorLine("当前点对点连接尚未建立。重试操作中 ...");
                        Program.MainForm.MessageHub.Connect();
                        Thread.Sleep(5000);
                        _redoLoadMesssageCount++;
                        Task.Factory.StartNew(() => DoLoadMessage(strGroupName, strTimeRange, bClearAll));
                        return;
                    }
                    else
                    {
                        AddErrorLine("当前点对点连接尚未建立。停止重试。消息装载失败。");
                        _redoLoadMesssageCount = 0; // 以后再调用本函数,就重新计算重试次数
                        return;
                    }
                }

                if (bClearAll)
                {
                    this.Invoke((Action)(() => this.ClearHtml()));
                    _lastMessage = null;
                }
                this.Invoke((Action)(() => this.HtmlWaiting(this.webBrowser1, "正在获取消息,请等待 ...")));

                EnableControls(false);
                try
                {
                    CancellationToken cancel_token = new CancellationToken();

                    string            id      = Guid.NewGuid().ToString();
                    GetMessageRequest request = new GetMessageRequest(id,
                                                                      strGroupName, // "<default>" 表示默认群组
                                                                      "",
                                                                      strTimeRange,
                                                                      0,
                                                                      -1);
                    try
                    {
                        MessageResult result = await Program.MainForm.MessageHub.GetMessageAsync(
                            request,
                            FillMessage,
                            new TimeSpan(0, 1, 0),
                            cancel_token);

#if NO
                        this.Invoke(new Action(() =>
                        {
                            SetTextString(this.webBrowser1, ToString(result));
                        }));
#endif
                        if (result.Value == -1)
                        {
                            //strError = result.ErrorInfo;
                            //goto ERROR1;
                            this.AddErrorLine(result.ErrorInfo);
                        }
                    }
                    catch (AggregateException ex)
                    {
                        strError = MessageConnection.GetExceptionText(ex);
                        goto ERROR1;
                    }
                    catch (Exception ex)
                    {
                        strError = ex.Message;
                        goto ERROR1;
                    }
                    return;
                }
                finally
                {
                    EnableControls(true);
                    this.Invoke((Action)(() => this.HtmlWaiting(this.webBrowser1, "")));
                }
ERROR1:
                this.Invoke((Action)(() => MessageBox.Show(this, strError)));
            }
            finally
            {
                _inGetMessage--;
            }
        }
Esempio n. 29
0
        async Task <bool> DetectUser()
        {
            string strError = "";

            EnableControls(false);
            try
            {
                using (MessageConnectionCollection _channels = new MessageConnectionCollection())
                {
                    _channels.Login += _channels_Login;

                    MessageConnection connection = await _channels.GetConnectionAsyncLite(
                        this.textBox_url.Text,
                        "");

                    CancellationToken cancel_token = _cancel.Token;

                    string            id      = Guid.NewGuid().ToString();
                    GetMessageRequest request = new GetMessageRequest(id,
                                                                      "",
                                                                      "gn:<default>", // "" 表示默认群组
                                                                      "",
                                                                      "",
                                                                      "",
                                                                      "",
                                                                      "",
                                                                      0,
                                                                      1);
                    GetMessageResult result = await connection.GetMessageAsyncLite(
                        request,
                        new TimeSpan(0, 1, 0),
                        cancel_token);

                    if (result.Value == -1)
                    {
                        strError = "检测用户时出错: " + result.ErrorInfo;
                        goto ERROR1;
                    }

                    return(true);
                }
            }
            catch (MessageException ex)
            {
                if (ex.ErrorCode == "Unauthorized")
                {
                    strError = "以用户名 '" + ex.UserName + "' 登录时, 用户名或密码不正确";
                    goto ERROR1;
                }
                if (ex.ErrorCode == "HttpRequestException")
                {
                    strError = "dp2MServer URL 不正确,或 dp2MServer 尚未启动";
                    goto ERROR1;
                }
                strError = ex.Message;
                goto ERROR1;
            }
            catch (AggregateException ex)
            {
                strError = MessageConnection.GetExceptionText(ex);
                goto ERROR1;
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                goto ERROR1;
            }
            finally
            {
                EnableControls(true);
            }
ERROR1:
            this.Invoke(new Action(() =>
            {
                MessageBox.Show(this, strError);
            }));
            return(false);
        }
Esempio n. 30
0
 /// <summary>
 /// Retrieves a Message identified by the supplied resource name.
 ///
 /// The caller must have `messaging.messages.get` permission on the project.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public virtual stt::Task <Message> GetMessageAsync(GetMessageRequest request, gaxgrpc::CallSettings callSettings = null) =>
 throw new sys::NotImplementedException();
Esempio n. 31
0
 public async Task <List <MessageResponse> > GetMessages(GetMessageRequest request)
 {
     return(await _messageService.GetMessages(request.Skip, request.Take, request.CurrentLocation, request.GettingMessagesRadiusInMeters));
 }
Esempio n. 32
0
 partial void Modify_GetMessageRequest(ref GetMessageRequest request, ref gaxgrpc::CallSettings settings);