Событие в РИА Сервис - PullRequest
       1

Событие в РИА Сервис

1 голос
/ 28 февраля 2011

У меня есть несколько представлений в проекте Silverlight Business Application и одной доменной службе.

С первого взгляда я хочу иметь возможность вызывать метод для службы, который достаточно прост для выполнения.В сервисе я хочу иметь возможность вызывать событие при вызове этого метода.Во втором представлении я хочу иметь обработчик событий для этого события в службе.

Пока у меня есть это для службы

public class MyService: DomainService
{
   public event EventHandler<EventArgs> MyEvent;

    public void SimulateSomeAction()
    {
        if(MyEvent!= null)
        {
            MyEvent(this, EventArgs.Empty);
        }
    }
 }

И в первом представлении у меня есть

private void button1_Click(object sender, RoutedEventArgs e)
{
    MyServiceContext context = new MyServiceContext();
    context.SimulateSomeAction();
}

Но для второго просмотра я не вижу, чтобы событие подвергалось обработке.Если это неправильный подход, как этого достичь?Я ищу некоторые средства для обновления представления клиента, инициированного службой.

РЕДАКТИРОВАТЬ:

Два представления, которые я упоминаю, будут на разных клиентах.По сути, я ищу решение связи между клиентом через службу домена.Если попытка сделать это через службу домена - плохая идея или невозможна, пожалуйста, предложите, что мне следует изучить.

В настоящее время изучаю "Отправка данных на клиент Silverlight с WCFДуплекс Сервис ", но он был бы рад, если бы это было возможно с услугами RIA.

Спасибо

Ответы [ 2 ]

1 голос
/ 28 февраля 2011

Функция, которую вы ищете, в настоящее время является наиболее востребованной в списке желаний RIA . Из того, что я слышал, люди успешно пользовались дуплексной службой WCF, но я не видел такого примера.

0 голосов
/ 28 февраля 2011

Являются ли эти фрагменты кода точными?

Я не вижу, как ваш первый взгляд видит метод Simulate.

Если вы хотите добавить функциональность к сгенерированным контекстам или моделям, посмотритепри использовании частичного класса.Поэтому в проекте Silverlight добавьте класс, подобный


namespace MyProject.Web.Services {
  public partial class MyContext {
    // Add new methods, events etc here
  }
}
...