小编MoS*_*Slo的帖子

Dispatcher.Invoke和传播错误

我有一个WPF(使用.net 4.5和mvvmlight)的启动画面,它必须以异步方式执行各种加载操作,显示进度并偶尔要求用户输入.

当要求输入,我将创建表单/对话框关闭UI线程调用的ShowDialog(与闪屏作为父),这样不会出现跨线程问题.这一切都很好但是如果在请求输入时发生错误,则导致的异常丢失.

为简单起见,下面的示例根本不遵循MVVM.

这是我的app.cs,它设置了UI调度程序,并准备处理错误报告的任何未处理的调度程序异常:

public partial class App : Application
    {
        private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
        {
            e.Handled = true;
            System.Windows.Forms.MessageBox.Show("Exception Handled");
        }

        private void Application_Startup(object sender, StartupEventArgs e)
        {
            GalaSoft.MvvmLight.Threading.DispatcherHelper.Initialize();
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我的(非常简化的)启动/启动屏幕:

    private void Window_ContentRendered(object sender, EventArgs e)
        {
            System.Windows.Forms.MessageBox.Show("Starting long running process...");

            var t = System.Threading.Tasks.Task.Factory.StartNew(() =>
            {
                //some kind of threaded work which decided to ask for user input.
                    GalaSoft.MvvmLight.Threading.DispatcherHelper.UIDispatcher.Invoke(() =>
                {
                    //Show form for user input, launched on UIDispatcher so that it's created …
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading dispatcher mvvm-light

7
推荐指数
1
解决办法
2560
查看次数

Visual Studio Code 资源管理器中缺少 GIT 状态

我可以清楚地看到我当前的开发机器(Win10)上文件的GIT状态。

当前的开发工作站

我需要帮助更新笔记本电脑(Win8.1)上的开发工具。VSCode 和 GIT 版本相同,但我在资源管理器中看不到 GIT 状态。

有问题的笔记本电脑

GIT 确实适用于笔记本电脑;我可以在 SCM UI 中清楚地看到文件状态,但在资源管理器中却找不到这些状态。

笔记本电脑上是否有一些旧配置可能会影响此问题,或者是否有我缺少的设置?

git visual-studio-code

7
推荐指数
1
解决办法
5187
查看次数