Я использую службы WCF из приложения Silverlight (MVVM) и Windows Phone. У меня есть класс Service (автоматически сгенерированный), и один IServiceRepository выглядит следующим образом
public interface IServiceRepository
{
event EventHandler<SomeEventArgs> GetDataCompleted;
void Data GetData();
// 10 more methods for fetching different data.
}
Мой SerViceRepository выглядит следующим образом
public class ServiceRepository : IServiceRepository
{
public event EventHandler<SomeEventArgs> GetDataCompleted;
public void Data GetData()
{
var proxy = new ActualServiceRefClient();
proxy.GetDataCompleted += PrivateGetDataCompleted;
proy.GetDatAsync();
}
private void PrivateGetDataCompleted(object s, SomeEventArgs e)
{
// Error check and all
if(GetDataCompleted != null)
GetDataCompleted(this, new SomeEventArgs(...));
}
}
Я вызываю этот метод из моих ViewModels. Теперь мои вопросы ...
- Прямо сейчас я создаю прокси
класс и прикрепляемый обработчик событий
с этим в каждом методе. Я должен делать
это в конструкторе
ServiceRepository? Как я уже сказал, у меня есть
от 10 до 12 методов обслуживания
звоните.
- Должен ли я отменить регистрацию обработчика событий в завершенном методе?