处理数据库连接问题

时间:2011-09-09 10:35:33

标签: c#

我有一些代码需要在无法建立数据库时重试,例如每次登录20次。该网站有数十个用户,这将是最好的处理方式吗?我正在考虑使用计数器,但是当多个用户同时登录时,可能需要一些线程,这是我不熟悉的。

编辑:

我在实例化Thread对象的行上得到错误''expect name expected'。这是我的代码:

private static List<Field.Info> FromDatabase(this Int32 _campId)
    {
        List<Field.Info> lstFields = new List<Field.Info>();

        Field.List.Response response = new Field.List.Ticket
        {
            campId = _campId
        }.Commit();

        if (response.status == Field.List.Status.success)
        {
            lstFields = response.fields;
            lock (campIdLock)
            {
                loadedCampIds.Add(_campId);
            }
        }

        if (response.status == Field.List.Status.retry)
        {
            Thread th1 = new Thread(new ThreadStart(FromDatabase(_campId)));

            FromDatabase(_campId);
        }

        return lstFields;
    }

1 个答案:

答案 0 :(得分:0)

我的方法是一个事件,如果计数器&lt; = 20,它会递增计数器并调用异步方法。 然后我会阻止当前线程并等待连接结果。

以线程安全的方式递增计数器

Interlocked.Increment(ref int counter);