예제 #1
0
        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            var tsks = new List <Task>();

            WordCountLibrary.Interfaces.UserResponse[] resps = new WordCountLibrary.Interfaces.UserResponse[2];

            tsks.Add(Task.Factory.StartNew(new Action <object>((o) =>
            {
                var args              = (object[])o;
                var statement         = (string)args[0];
                var removePunctuation = (bool)args[1];
                try
                {
                    var client = new WordCountServiceReference.WordCountClient();
                    resps[1]   = client.CountWordsInStatement(statement, removePunctuation);
                }
                catch (Exception ex)
                {
                    resps[1] = new WordCountLibrary.Interfaces.UserResponse {
                        HasError = true, Error = ex.Message
                    };
                }
            }), new object[] { txtSecondUserRequest.Text, WordCountMVVM.Instance.RemovePunctuation2 }));

            tsks.Add(Task.Factory.StartNew(new Action <object>((o) =>
            {
                var args              = (object[])o;
                var statement         = (string)args[0];
                var removePunctuation = (bool)args[1];
                try
                {
                    var client = new WordCountServiceReference.WordCountClient();

                    resps[0] = client.CountWordsInStatement(statement, removePunctuation);
                }
                catch (Exception ex)
                {
                    resps[0] = new WordCountLibrary.Interfaces.UserResponse {
                        HasError = true, Error = ex.Message
                    };
                }
            }), new object[] { txtFirstUserRequest.Text, WordCountMVVM.Instance.RemovePunctuation1 }));

            Task.WaitAll(tsks.ToArray());

            WordCountMVVM.Instance.FirstUserResponse  = resps[0];
            WordCountMVVM.Instance.SecondUserResponse = resps[1];
        }
        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            var tsks = new List<Task>();
            WordCountLibrary.Interfaces.UserResponse[] resps = new WordCountLibrary.Interfaces.UserResponse[2];

            tsks.Add(Task.Factory.StartNew(new Action<object>((o) =>
            {
                var args = (object[])o;
                var statement = (string)args[0];
                var removePunctuation = (bool)args[1];
                try
                {
                    var client = new WordCountServiceReference.WordCountClient();
                    resps[1] = client.CountWordsInStatement(statement, removePunctuation);
                }
                catch (Exception ex)
                {
                    resps[1] = new WordCountLibrary.Interfaces.UserResponse { HasError = true, Error = ex.Message };
                }
            }), new object[] { txtSecondUserRequest.Text, WordCountMVVM.Instance.RemovePunctuation2 }));

            tsks.Add(Task.Factory.StartNew(new Action<object>((o) =>
            {
                var args = (object[])o;
                var statement = (string)args[0];
                var removePunctuation = (bool)args[1];
                try
                {
                    var client = new WordCountServiceReference.WordCountClient();

                    resps[0] = client.CountWordsInStatement(statement, removePunctuation);
                }
                catch (Exception ex)
                {
                    resps[0] = new WordCountLibrary.Interfaces.UserResponse { HasError = true, Error = ex.Message };
                }
            }), new object[] { txtFirstUserRequest.Text, WordCountMVVM.Instance.RemovePunctuation1 }));

            Task.WaitAll(tsks.ToArray());

            WordCountMVVM.Instance.FirstUserResponse = resps[0];
            WordCountMVVM.Instance.SecondUserResponse = resps[1];
        }