public async Task CallToFellowGrain()
 {
     try
     {
         Console.WriteLine("Making call to a fellow grain");
         ITempGrain grain = this.GrainFactory.GetGrain <ITempGrain>(1);
         // await grain.TempCall();
         grain.TempCall();
     }
     catch (Exception ex)
     {
         Console.WriteLine("EXCEPTION: " + ex.Message);
     }
 }
        public async Task Call_A_ToTemp()
        {
            Console.WriteLine("Making call A to a fellow grain");
            ITempGrain grain = this.GrainFactory.GetGrain <ITempGrain>(1);

            // SendNext;
            grain.CallA().ContinueWith((t) =>
            {
                //if(t.IsFaulted)
                if (t.IsCompletedSuccessfully)
                {
                    // Console.WriteLine("Task Faulted");
                    Console.WriteLine("Task Success");
                    Call_A_ToTemp();
                }
            }
                                       );
        }
 public async Task Call_B_ToTemp()
 {
     Console.WriteLine("Making call B to a fellow grain");
     ITempGrain grain = this.GrainFactory.GetGrain <ITempGrain>(1);
     await grain.CallB();
 }