尝试块退出,而不在调试器中执行任何操作



我正在创建一个Xamarin。使用Azure移动服务形成应用程序。目前,我正在做这样的事情:-

App.cs

public const string applicationURL = @"myUrl";
public const string applicationKey = @"myKey";
public static MobileServiceClient client = new MobileServiceClient(applicationURL, applicationKey);

主页.cs

public MainViewModel ViewModel
{
    get { return this.BindingContext as MainViewModel ; }
    set { this.BindingContext = value; }
}
public MainPage()
{
    InitializeComponent();
    this.ViewModel = new MainViewModel (App.client);}

MainViewModel.cs

public MainViewModel(MobileServiceClient client) : this()
{
    this.client = client;
    LoadItemsCommand.Execute(null);
}
public ObservableCollection<MainModel> mainDetails{ get; set; }

private Command loadItemsCommand;
/// <summary>
/// Command to load/refresh items
/// </summary>
public Command LoadItemsCommand
{
    get { return loadItemsCommand ?? (loadItemsCommand = new Command(async () => await ExecuteLoadItemsCommand())); }
}
private async Task ExecuteLoadItemsCommand()
{
    if (IsLoading)
        return;
    IsLoading = true;
    try
    {
        var details= await client.GetTable<MainModel>().ToListAsync();
        MainDetails.Clear();
        foreach (var mDetails in details)
        {
            MainDetails.Add(mDetails);
        }
    }
    catch (Exception ex)
    {
        var page = new ContentPage();
        var result = page.DisplayAlert("Error", "Error loading data. Please check connectivity and try again.", "OK", null);
    }
                IsLoading = false;
}

当我的调试器到达MainviewModel.cs中的Try块时,它突然退出,什么也没做。它甚至没有进入Catch区块。我做错了什么吗?我如何找出问题的原因?

当我的调试器到达MainviewModel.cs中的Try块时,它突然退出,什么也没做。

这是因为异步方法的性质,一旦达到第一个await,它们就会将控制权交还给调用方法。这是预期的行为。只需在等待后在行上设置一个断点,异步操作完成后就会看到断点到达。

最新更新