예제 #1
0
        public void UpdateInfo()
        {
            IConsistencyService[] server = new IConsistencyService[_servers.Count];
            for (int i = 0; i < _servers.Count; i++)
            {
                server[i] = getOtherServers(_servers[i]);
            }

            callback returnedValueOnUpdate = new callback();

            callback.RemoteUpdateDelegate RemoteDelforUpdate1 = new callback.RemoteUpdateDelegate(server[0].UpdateInfo);
            AsyncCallback RemoteCallbackOnUpdate = new AsyncCallback(returnedValueOnUpdate.OurRemoteUpdateCallBack);
            IAsyncResult  RemArForLookup1        = RemoteDelforUpdate1.BeginInvoke(RemoteCallbackOnUpdate, null);

            callback.RemoteUpdateDelegate RemoteDelforUpdate2 = new callback.RemoteUpdateDelegate(server[1].UpdateInfo);
            IAsyncResult RemArForLookup2 = RemoteDelforUpdate2.BeginInvoke(RemoteCallbackOnUpdate, null);

            Log.Show(_username, "WAITING HERE FOR ONE SERVER");
            returnedValueOnUpdate.waiter.WaitOne();
            //returnedValueOnUpdate.waiter.Reset();

            action.setinfo(returnedValueOnUpdate.info);

            return;
        }
예제 #2
0
        public void UpdateInfo()
        {
            IConsistencyService[] server = new IConsistencyService[_servers.Count];
            for (int i = 0; i < _servers.Count; i++)
            {
                server[i] = getOtherServers(_servers[i]);
            }

            callback returnedValueOnUpdate = new callback();
            callback.RemoteUpdateDelegate RemoteDelforUpdate1 = new callback.RemoteUpdateDelegate(server[0].UpdateInfo);
            AsyncCallback RemoteCallbackOnUpdate = new AsyncCallback(returnedValueOnUpdate.OurRemoteUpdateCallBack);
            IAsyncResult RemArForLookup1 = RemoteDelforUpdate1.BeginInvoke(RemoteCallbackOnUpdate, null);

            callback.RemoteUpdateDelegate RemoteDelforUpdate2 = new callback.RemoteUpdateDelegate(server[1].UpdateInfo);
            IAsyncResult RemArForLookup2 = RemoteDelforUpdate2.BeginInvoke(RemoteCallbackOnUpdate, null);

            Log.Show(_username, "WAITING HERE FOR ONE SERVER");
            returnedValueOnUpdate.waiter.WaitOne();
            //returnedValueOnUpdate.waiter.Reset();

            action.setinfo(returnedValueOnUpdate.info);

            return;
        }