Нужно руководство по получению данных в приложение Silverlight через ASP.NET/WCF
Прежде всего, спасибо за любую помощь. Я много смотрел и не нашел верного решения, так что вот я...
В основном я занимаюсь разработкой приложения asp.net (4.0). Одна веб-форма представляет отчет и разделена на две части: - div, который действует как панель управления, которая содержит текстовые поля, комбинированные списки, календари и т. Д., Которые предоставляют параметры для запроса, и кнопку для получения данных. - div, который содержит управляющий хост silverlight. Приложение Silverlight содержит только пользовательский элемент управления сеткой данных.
Итак, как вы можете себе представить, пользователь предоставляет значения для параметров и нажимает кнопку, чтобы получить данные в пользовательском элементе управления сеткой данных приложения silverlight. -Я знаю, что вы, вероятно, спрашиваете сами, почему бы мне просто не добавить элементы управления в приложение silverlight и не использовать службы RIA. Не вдаваясь в подробности, нам нужна более новая таблица данных, которую мы можем добавить в некоторые из наших существующих страниц asp.net.
Я не знаю, что является лучшей практикой для чего-то подобного. Я много смотрел, и я рассмотрел несколько вариантов, и даже мои эксперименты были мокрыми (безуспешно).
Я думаю, что я хотел бы сделать, это иметь службу wcf, которая только отправляет данные клиенту silverlight на странице. Позвольте мне прояснить, что мне не нужен шаблон обмена сообщениями запрос / ответ, потому что клиент Silverlight не будет делать никаких запросов. В своем "поиске" для достижения этой цели я нашел примеры / учебные пособия по дуплексному обмену сообщениями, которые, я думаю, могли бы работать хорошо, если бы я мог установить страницу asp в качестве клиента для службы и приложение silverlight в качестве клиента для той же службы. Пользователь нажимает кнопку, и ссылка на службу asp-страницы вызывает службу для получения данных, а затем, в свою очередь, отправляет данные клиенту Silverlight. Одна из проблем, с которыми я столкнулся, заключается в том, что все найденные мною учебные материалы отправляют сообщения всем клиентам, так что, если два человека одновременно посещают сайт? Будет ли обновлять оба приложения? Как бы я нацелился на правильного клиента?
Поэтому мой вопрос: может ли кто-нибудь предоставить какие-либо советы, ссылки или другие ресурсы для решения этого сценария?
1 ответ
Во-первых, я не думаю, что вам нужен Silverlight. Существует множество отличных элементов управления пользовательским интерфейсом, таких как Telerik RadGrid, которые вы можете подключить к существующему приложению и начать работу через час или два.
Тем не менее, если вы действительно хотите, чтобы это работало, вам нужен pub/sub, который работает как в браузере, так и в Silverlight. Посмотрите на PubNub. Вы получаете 5000 сообщений в день бесплатно и работаете практически на любом клиенте (телефон, Silverlight, браузер и т. Д.) С простым API.
По сути, ваш клиент Silverlight будет подписываться на "канал", чтобы получать уведомления при изменении параметров фильтра, а ваша форма будет публиковать сообщения на этот канал либо через JavaScript, либо на стороне сервера, сообщая подписчикам (1 в вашем случае) об измененных значениях фильтра., Когда клиент Silverlight получает уведомление, он отправляет запрос данных через WCF.
Немного взломать хотя. Я бы посоветовал вам бросить Silverlight и использовать сетку AJAX. Надеюсь это поможет!