2025年12月

  • 安装“WebDAV 发布”
  • 启用 WebDAV 并添加创作规则
  • 添加创作规则
  • “身份验证”开启“Windows 身份验证”
  • "授权"账户

Microsoft Visual C++ 2005 Redistributable Package (32位)

http://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.exe

Microsoft Visual C++ 2005 Redistributable Package (64位)

http://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.exe

Microsoft Visual C++ 2008 Redistributable Package (32位)

https://download.microsoft.com/download/9/7/7/977B481A-7BA6-4E30-AC40-ED51EB2028F2/vcredist_x86.exe

Microsoft Visual C++ 2008 Redistributable Package (64位)

https://download.microsoft.com/download/9/7/7/977B481A-7BA6-4E30-AC40-ED51EB2028F2/vcredist_x64.exe

Microsoft Visual C++ 2010 SP1 Redistributable Package (32位)

https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe

Microsoft Visual C++ 2010 SP1 Redistributable Package (64位)

https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe

Microsoft Visual C++ 2012 Redistributable (x64)

https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe

Microsoft Visual C++ 2012 Redistributable (x86)

https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe

Visual C++ Redistributable for Visual Studio 2012 Update 4 (32位)

https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x86.exe

Visual C++ Redistributable for Visual Studio 2012 Update 4 (64位)

https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x64.exe

Visual C++ Redistributable Packages for Visual Studio 2013 (32位)

https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x86.exe

Visual C++ Redistributable Packages for Visual Studio 2013 (64位)

https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x64.exe

Visual Studio 2015, 2017, 2019, and 2022 (32位)

https://aka.ms/vs/17/release/vc_redist.x86.exe

Visual Studio 2015, 2017, 2019, and 2022 (64位)

https://aka.ms/vs/17/release/vc_redist.x64.exe

场景:
在一个工厂ERP管理系统中,有部分实体的界面需要显示相关联的其它信息,而这部分信息是弱连接的,需要调用WebAPI取回,传统的方式是一一取回,结果是用户感知的速度达不到要求。
使用BackgroundWorker,在后台取资料,取完资料后再显示,如果取资料的过程中,主实体已经变更了,或者已多次变更了,则等上次任务完成后,直接再取最后一次变更的资料,中间的直接丢弃,既加快了速度,也节省了资源。
实现思路:

先加入BackgroundWorker,(命名如:BackgroundWorker_ShowItem)。

再定义两个变量,用于保存要显示的主实体(或其关联键)

private T Item = null;
private T NextItem = null;

当需要显示一个主体的内容时,不直接显示,而是呼叫BackgroundWorker来处理

public void ShowItem(T item)
{
    if (BackgroundWorker_ShowItem.IsBusy)
    {
    this.NextItem = item;
    }
    else
    {
    this.Item = item;
    this.BackgroundWorker_ShowItem.RunWorkerAsync();
    }
}

private void BackgroundWorker_ShowItem_DoWork(object sender, DoWorkEventArgs e)
{
    this.ShowItem();
}

private void BackgroundWorker_ShowItem_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    if (this.NextItem != null)
    {
    var nextItem = this.NextItem;
    this.NextItem = null;
    this.ShowItem(nextItem);
    }
}

注意,当ShowItem()中有访问前端时,会报“线程间操作无效”的例外,需要使用Invoke,但不要在DoWork中将ShowItem()全部包含,而应该在ShowItem()中单独处理。否则达不到性能优化的效果。