title: Xamarin.Forms Call to message center increases in number each time
body: <p>I've a problem where I send message once and Subscriber is called once but next time it is called twice and so on... Here's my code.
  This is message sender</p>
  
  <pre><code>public void OnSuccess(Java.Lang.Object result)
      {
          UploadTask.TaskSnapshot taskSnapShot = (UploadTask.TaskSnapshot)result;
  
          string downloadURL = taskSnapShot.DownloadUrl.ToString();
          string fileName = taskSnapShot.Metadata.Name;
  
          GBPaperReceipt.Model.ImageFile imageFile = new Model.ImageFile
          {
              FileName = fileName,
              FilePath = downloadURL
          };
          MessagingCenter.Send((App)Xamarin.Forms.Application.Current, MessageStrings.ImageUploadEvent, imageFile);
  
          //save this live storage image url in receipt table
  
          //MessagingCenter.Send&lt;Xamarin.Forms.Application, string&gt;((Xamarin.Forms.Application)Xamarin.Forms.Application.Current, ChatModuleConstant.UploadMediaEvent, downloadURL);
      }
  </code></pre>
  
  <p>This is message receiver</p>
  
  <pre><code>MessagingCenter.Subscribe&lt;App, ImageFile&gt;((App)Application.Current, MessageStrings.ImageUploadEvent,async (a, imageFile) =&gt;
          {
              _viewModel.Receipt.ImagePath = imageFile.FilePath;
              _viewModel.Receipt.ImageName = imageFile.FileName;
              try
              {
                  await DependencyService.Get&lt;IReceiptService&gt;().SaveReceipt(_viewModel.Receipt);
              }
              catch (Exception ex)
              {
                  await DisplayAlert(
                              "Error!", ex.Message, "OK");
              }
  
  
              DependencyService.Get&lt;ICamera&gt;().DeletePhoto(_viewModel._imageToBeDeletedOnSaveCommand);
              Dialogs.HideLoading();
              Application.Current.MainPage = new NavigationPage(new DashboardPage());
          });
  </code></pre>
  
  <p>Unsubscription</p>
  
  <pre><code>protected override void OnDisappearing()
      {
          base.OnDisappearing();
          MessagingCenter.Unsubscribe&lt;App, string&gt;((App)Application.Current, MessageStrings.ErrorEvent);
          MessagingCenter.Unsubscribe&lt;App, string&gt;((App)Application.Current, MessageStrings.ImageUploadEvent);
      }
  </code></pre>