public Task Start() { ISourceGrain sourceGrain = GrainFactory.GetGrain <ISourceGrain>(0); sourceGrain.SubscribeForUpdates(this); Console.WriteLine("Started ObserverGrain"); return(TaskDone.Done); }
private static async Task DoClientWork() { IObserverGrain observerGrain = GrainClient.GrainFactory.GetGrain <IObserverGrain>(0); await observerGrain.Start(); var theObserver = new TheObserver(); var obj = GrainClient.GrainFactory.CreateObjectReference <IObserve>(theObserver).Result; // factory from IObserve ISourceGrain sourceGrain = GrainClient.GrainFactory.GetGrain <ISourceGrain>(0); await sourceGrain.SubscribeForUpdates(obj); //await sourceGrain.SubscribeForUpdates(observerGrain); Console.WriteLine("Client is running.\nPress Enter to terminate..."); Console.ReadLine(); }