コード例 #1
0
ファイル: Bug652331_2Test.cs プロジェクト: oafasting/mono
 private object[] OnEndGetNestedData(System.IAsyncResult result)
 {
     WebServiceMoonlightTest.ServiceReference2.DataType2 retVal = ((WebServiceMoonlightTest.ServiceReference2.IService1)(this)).EndGetNestedData(result);
     return(new object[] {
         retVal
     });
 }
コード例 #2
0
        void RunClient()
        {
            var binding       = new BasicHttpBinding();
            var remoteAddress = new EndpointAddress("http://localhost:" + NetworkHelpers.FindFreePort() + "/Service1");

            var normalClient     = new Service1Client(binding, remoteAddress);
            var collectionClient = new Service1Client(binding, remoteAddress);
            var nestedClient     = new Service1Client(binding, remoteAddress);
            var dbClient         = new Service1Client(binding, remoteAddress);

            {
                ManualResetEvent wait   = new ManualResetEvent(false);
                Exception        error  = null;
                object           result = null;

                normalClient.GetDataCompleted += delegate(object o, GetDataCompletedEventArgs e) {
                    try {
                        error  = e.Error;
                        result = e.Error == null ? e.Result : null;
                    } finally {
                        wait.Set();
                    }
                };
                normalClient.GetDataAsync();

                Assert.IsTrue(wait.WaitOne(TimeSpan.FromSeconds(20)), "#1 timeout");
                Assert.IsNull(error, "#1.1, inner exception: {0}", error);
                Assert.AreEqual("A", ((DataType1)result).Id, "#1.2");
            }

            {
                ManualResetEvent wait  = new ManualResetEvent(false);
                Exception        error = null;
                ObservableCollection <object> result = null;

                collectionClient.GetCollectionDataCompleted += delegate(object sender, GetCollectionDataCompletedEventArgs e) {
                    try {
                        error  = e.Error;
                        result = e.Error == null ? e.Result : null;
                    } finally {
                        wait.Set();
                    }
                };
                collectionClient.GetCollectionDataAsync();

                Assert.IsTrue(wait.WaitOne(TimeSpan.FromSeconds(20)), "#2 timeout");
                Assert.IsNull(error, "#2.1, inner exception: {0}", error);
                Assert.AreEqual("B,C", ItemsToString(result.Cast <DataType1> ()), "#2.2");
            }

            {
                ManualResetEvent wait  = new ManualResetEvent(false);
                Exception        error = null;
                WebServiceMoonlightTest.ServiceReference2.DataType2 result = null;

                nestedClient.GetNestedDataCompleted += delegate(object sender, GetNestedDataCompletedEventArgs e) {
                    try {
                        error  = e.Error;
                        result = e.Error == null ? e.Result : null;
                    } finally {
                        wait.Set();
                    }
                };
                nestedClient.GetNestedDataAsync();

                Assert.IsTrue(wait.WaitOne(TimeSpan.FromSeconds(20)), "#3 timeout");
                Assert.IsNull(error, "#3.1, inner exception: {0}", error);
                Assert.AreEqual("D,E", ItemsToString(result.Items.Cast <DataType1> ()), "#3.2");
            }

            {
                ManualResetEvent wait   = new ManualResetEvent(false);
                Exception        error  = null;
                string           result = null;

                dbClient.JSMGetDatabasesCompleted += delegate(object sender, JSMGetDatabasesCompletedEventArgs e) {
                    try {
                        error  = e.Error;
                        result = e.Error == null ? e.Result : null;
                    } finally {
                        wait.Set();
                    }
                };
                dbClient.JSMGetDatabasesAsync();

                Assert.IsTrue(wait.WaitOne(TimeSpan.FromSeconds(20)), "#4 timeout");
                Assert.IsNull(error, "#4.1, inner exception: {0}", error);
                Assert.AreEqual("databases", result, "#4.2");
            }
        }