Exemple #1
0
    protected void btn_Command(object sender, CommandEventArgs e)
    {
        // 线程1
        var thread1 = new Thread(new ParameterizedThreadStart(Do));
        thread1.Start(e.CommandName);

        // 线程2
        var thread2 = new Thread(new ParameterizedThreadStart(Do));
        thread2.Start(e.CommandName);

        for (int i = 0; i < 100; i++)
        {
            Thread.Sleep(100);

            if (thread1.ThreadState == ThreadState.Stopped && thread2.ThreadState == ThreadState.Stopped)
            {
                // 返回服务端的技术器的调用结果
                var proxy = new ConcurrencyLockSvc.HelloClient();

                txtResult.Text = proxy.GetResult();

                proxy.Close();

                break;
            }
        }
    }
Exemple #2
0
    protected void btn_Command(object sender, CommandEventArgs e)
    {
        // 线程1
        var thread1 = new Thread(new ParameterizedThreadStart(Do));

        thread1.Start(e.CommandName);

        // 线程2
        var thread2 = new Thread(new ParameterizedThreadStart(Do));

        thread2.Start(e.CommandName);

        for (int i = 0; i < 100; i++)
        {
            Thread.Sleep(100);

            if (thread1.ThreadState == ThreadState.Stopped && thread2.ThreadState == ThreadState.Stopped)
            {
                // 返回服务端的技术器的调用结果
                var proxy = new ConcurrencyLockSvc.HelloClient();

                txtResult.Text = proxy.GetResult();

                proxy.Close();

                break;
            }
        }
    }
Exemple #3
0
    private void Do(object commandName)
    {
        ConcurrencyLockSvc.LockType lockType = (ConcurrencyLockSvc.LockType)Enum.Parse(typeof(ConcurrencyLockSvc.LockType), (string)commandName);

        // 调用服务端技术器
        using (var proxy = new ConcurrencyLockSvc.HelloClient())
        {
            proxy.Counter(lockType);
        }
    }
Exemple #4
0
    protected void btnCleanResult_Click(object sender, EventArgs e)
    {
        // 清空计数器和结果
        using (var proxy = new ConcurrencyLockSvc.HelloClient())
        {
            proxy.CleanResult();
        }

        txtResult.Text = "";
    }
Exemple #5
0
    protected void btnCleanResult_Click(object sender, EventArgs e)
    {
        // 清空计数器和结果
        using (var proxy = new ConcurrencyLockSvc.HelloClient())
        {
            proxy.CleanResult();
        }

        txtResult.Text = "";
    }
Exemple #6
0
    private void Do(object commandName)
    {
        ConcurrencyLockSvc.LockType lockType = (ConcurrencyLockSvc.LockType)Enum.Parse(typeof(ConcurrencyLockSvc.LockType), (string)commandName);

        // 调用服务端技术器
        using (var proxy = new ConcurrencyLockSvc.HelloClient())
        {
            proxy.Counter(lockType);
        }
    }