/// <summary> /// Отправить сообщение. /// </summary> /// <param name="message">Сообщение.</param> protected override void OnSendInMessage(Message message) { switch (message.Type) { case MessageTypes.Connect: { var error = SessionHolder.Address == null ? new InvalidOperationException(LocalizedStrings.Str3503) : null; SendOutMessage(new ConnectMessage { Error = error }); if (error == null) { SendInMessage(new TimeMessage()); } break; } case MessageTypes.Disconnect: SendOutMessage(new DisconnectMessage()); break; case MessageTypes.Time: // обработка heartbeat { using (var reader = new XmlReaderEx(SessionHolder.Address.To <string>()) { CustomDateFormat = SessionHolder.CustomDateFormat }) { var feed = SyndicationFeed.Load(reader); foreach (var item in feed.Items) { SendOutMessage(new NewsMessage { Id = item.Id, Source = feed.Authors.Select(a => a.Name).Join(","), ServerTime = item.PublishDate.DateTime, Headline = item.Title.Text, Story = item.Summary == null ? string.Empty : item.Summary.Text, Url = item.Links.Any() ? item.Links[0].Uri : null }); } } break; } } }
private void ProcessRss() { using (var reader = new XmlReaderEx(Address.To <string>()) { CustomDateFormat = CustomDateFormat }) { var feed = SyndicationFeed.Load(reader); foreach (var item in feed.Items) { SendOutMessage(new NewsMessage { Id = item.Id, Source = feed.Authors.Select(a => a.Name).Join(","), ServerTime = item.PublishDate, Headline = item.Title.Text, Story = item.Summary == null ? string.Empty : item.Summary.Text, Url = item.Links.Any() ? item.Links[0].Uri : null }); } } }
private void ProcessRss() { using (var reader = new XmlReaderEx(Address.To<string>()) { CustomDateFormat = CustomDateFormat }) { var feed = SyndicationFeed.Load(reader); foreach (var item in feed.Items) { SendOutMessage(new NewsMessage { Id = item.Id, Source = feed.Authors.Select(a => a.Name).Join(","), ServerTime = item.PublishDate.DateTime, Headline = item.Title.Text, Story = item.Summary == null ? string.Empty : item.Summary.Text, Url = item.Links.Any() ? item.Links[0].Uri : null }); } } }