如何在页面加载中使用并行?

荣誉

我有几个这样的连接:

try
{
OleDbConnection con1;
using (con1 = new OleDbConnection("Provider=MSDAORA.1;Data Source=db1:1521;Persist Security Info=True;Password=password;User ID=username"))
{
    con1.Open();
    v1 = 1;
    con1.Close();
}
}
catch (Exception ex)
{
v1 = 0;
}

try
{
OleDbConnection con2;
using (con2 = new OleDbConnection("Provider=MSDAORA.1;Data Source=db2:1521;Persist Security Info=True;Password=password;User ID=username"))
{
    con2.Open();
    v2 = 1;
    con2.Close();
}
}
catch (Exception ex)
{
v2 = 0;
}

在page_load中并按顺序工作。我需要并行运行此连接。我怎样才能做到这一点?

斯蒂法诺·德安东尼奥

使用C#6.NET 4.5,您可以将TPLasync一起使用,并且代码看起来更加简洁:

static void Main()
{
    var v1Task = Connect();
    var v2Task = Connect();

    var results = Task.WhenAll(v1Task, v2Task);

    var v1 = results.Result[0];
    var v2 = results.Result[1];
}

static async Task<int> Connect()
{
    int v;

    try
    {
        using (var con2 = new OleDbConnection("Provider=MSDAORA.1;Data Source=db2:1521;Persist Security Info=True;Password=password;User ID=username"))
        {
            await con2.OpenAsync();
            v = 1;
            con2.Close();
        }
    }
    catch (Exception)
    {
        v = 0;
    }

    return v;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在HTML页面加载中使用JFrames打开Applet

如何在并行foreach中使用await?

如何在页面加载时提交表单而不在 AngularJS 中使用 jquery?

如何在R并行计算中使用Reduce()函数?

如何在Java中使用Spliterators测试并行处理的性能

如何在并行多进程块中使用ActiveRecord事务?

如何在Python中使用多重处理并行求和循环

如何在Python中使用aiohttp或asyncio创建并行循环?

如何在 C 中使用线程显示并行性?

如何在视图页面中使用foreach

如何在aspx页面中使用If语句

如何在 Razor 页面中使用 IIF?

如何在页面中使用组件

如何在UIViewController中使用/加载xib

如何在加载器中使用 setTimeout

如何在PHP中使用自动加载?

如何在资源中使用块和代码段,但在使用MODx Revolution加载页面时仅返回块?

如何在弹出窗口中使用Ajax发布表单而无需在Laravel中重新加载页面

如何在每个加载页面中使用下拉过滤器在 jquery 上设置默认结果?

如何在页面加载时使用Featherlight打开DOM元素?

如何在页面加载时加载 Javascript

如何在简单的 html 页面中使用 vue-select?

如何在codeigniter中使用phpunit测试我的登录页面?

如何在page.evaluate中使用页面?

如何在页面对象工厂中使用多个标识

如何在Django中使用Ajax刷新HTML页面?

如何在header.master页面中使用JQuery

我如何在多个页面中使用相同的sidenav

如何在Laravel路由页面中使用会话数据(auth)