private async Task Poll()
        {
            string watermark = null;

            while (isPolling)
            {
                await Task.Delay(TimeSpan.FromSeconds(Interval));

                var activities = await api.GetActivitiesAsync(conversationId, watermark);

                if (activities != null)
                {
                    watermark = activities?.Watermark;
                    if (activities.Activities.Count > 0)
                    {
                        MessageReceived?.Invoke(activities);
                    }
                }
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Get activities in this conversation. This method is paged with the
 /// 'watermark' parameter.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='conversationId'>
 /// Conversation ID
 /// </param>
 /// <param name='watermark'>
 /// (Optional) only returns activities newer than this watermark
 /// </param>
 public static ActivitySet GetActivities(this IConversations operations, string conversationId, string watermark = default(string))
 {
     return(operations.GetActivitiesAsync(conversationId, watermark).GetAwaiter().GetResult());
 }