Как контролировать нет. пользователей вошли в систему? - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть одно приложение Windows на стороне пользователя и веб-сервис на стороне администратора, которые подключены в локальной сети ...

, когда пользователь запускает приложение Windows, появляется форма входа в систему и когдапользовательский журнал в вызове веб-службы сделан, и строка (содержащая детали пользователя) динамически добавлена ​​в таблицу базы данных, присутствующей на стороне администратора.

Теперь я хочу, чтобы только указанное количество пользователей не могло быть в состоянии войти в систему, т.е. если администратор дает 3 пользователям, то только 3 пользователя должны иметь возможность войти в систему, и если четвертый пользователь пытается войти, он должен выдать сообщение об ошибкеэто не.пользователей превысило.Я пытался сделать это, используя цикл for:

for(count=0 ; count<noofusers ; count++) { //code for inserting the row dynamically into database }

, но здесь одновременно 3 строки добавляются в базу данных

Я хочу, чтобы, когда 1 пользователь входит в 1 строкудолжен быть добавлен, когда другой пользователь входит в систему, NOOfUsers должен быть увеличен, и 2-ая строка должна быть добавлена ​​и так далее ... наконец, когда 4-й пользователь входит в систему, ему нельзя позволять ...

Может кто-нибудь, пожалуйста, помогите мнес этим вопросом ??

1 Ответ

0 голосов
/ 06 апреля 2011
private static object _lock = new object();

public void LogIn(string username, string password)
{
    lock(_lock)
    {
        if (NumLoggedInUsers() >= MaxNumUsers())
        {
            return "Sry dudez, too many userz";
        }
    }
}

Я оставлю NumLoggedInUsers () и MaxNumUsers в качестве упражнения для читателя.

Обратите внимание, что я заблокировал эту проверку на случай, если 2 человека попытаются войти в систему одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...