• 异步刷新



    /// <summary>
    /// AsynchronousLoading class
    /// </summary>
    public static class AsynchronousLoading
    {
    /// <summary>
    /// AsyncInvokeHandler delegate
    /// </summary>
    /// <returns>object</returns>
    public delegate object AsyncInvokeHandler();
    /// <summary>
    /// AsyncInvokeCallbackHandler
    /// </summary>
    /// <param name="result">object</param>
    /// <param name="e">Exception</param>
    public delegate void AsyncInvokeCallbackHandler(object result, Exception e);

    /// <summary>
    /// Async invoke method
    /// </summary>
    /// <param name="handler">AsyncInvokeHandler</param>
    /// <param name="callback">AsyncInvokeCallbackHandler</param>
    public static void AsyncInvoke(AsyncInvokeHandler handler, AsyncInvokeCallbackHandler callback)
    {
    System.Threading.Thread t = new System.Threading.Thread(() =>
    {
    try
    {
    callback(handler(), null);
    }
    catch (Exception e)
    {
    Log.LogError(e);
    callback(null, e);
    }
    });
    t.IsBackground = true;
    t.Start();
    }

    }


    //*****************************************************************************
    #region AsynchronousLoading

    AsynchronousLoading.AsyncInvoke(() =>
    {
    #region

    return updateAction.ExecuteDownloadDataFromDrFirst(patient, CurrentUserInfo.CurrentSysUser);

    #endregion

    }, (result, ex) =>
    {
    if (ex != null)
    {
    Dispatcher.Invoke(new System.Threading.ThreadStart(() =>
    {
    MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
    return;
    }));
    }
    bool bResult = (bool)result;
    if (bResult)
    {
    Dispatcher.Invoke(new System.Threading.ThreadStart(() =>
    {
    MessageBox.Show("Download data successfully!", "Attention", MessageBoxButton.OK, MessageBoxImage.Information);
    SystemManager.RefreshHealthcareAssociatedView(pChekIn);
    }));
    }
    else
    {
    Dispatcher.Invoke(new System.Threading.ThreadStart(() =>
    {
    MessageBox.Show("Download data failed! Please make sure the internet is useable!",
    "Error", MessageBoxButton.OK, MessageBoxImage.Error);
    }));
    }
    });

    #endregion AsynchronousLoading

  • 相关阅读:
    怎样运用好ZBrush中的布尔运算
    怎样用好ZBrush 中的映射大师功能
    jvm
    java8 新用法
    entity framework delete table Error 11007:
    'EF.Utility.CS.ttinclude' returned a null or empty string.
    js判断是否绑定了事件。
    线程每5分钟刷新一次
    http请求提交cookie
    javascrip小笔记
  • 原文地址:https://www.cnblogs.com/quietwalk/p/3531591.html
Copyright © 2020-2023  润新知