Пример #1
0
		private static void InvokeBatch(IRemoteServ1 service)
		{
			try
			{
				service.DoSomethingWrong();
				Assert.Fail("Expecting exception here");
			}
			catch (Exception ex)
			{
				Assert.AreEqual("Remote server or invoker threw Exception with message simple message", ex.Message);
			}

			var watch = new System.Diagnostics.Stopwatch();
			watch.Start();

			// 1000
			for (var i = 0; i < 100; i++)
			{
				if (i % 1000 == 0)
				{
					var collCount0 = GC.CollectionCount(0);
					var collCount1 = GC.CollectionCount(1);
					var collCount2 = GC.CollectionCount(2);

					Console.WriteLine("Collections on Gen 0 {0}, Gen 1 {1}, Gen 2 {2} ", collCount0, collCount1, collCount2);
				}

				// Console.WriteLine("new batch ");

				service.NoParamsOrReturn();
				service.JustParams("1");
				Assert.IsTrue(service.JustReturn().Equals("abc"));
				service.ParamsWithStruct(new MyCustomStruct() { Name = "1", Age = 30 });
				service.ParamsWithCustomType1(new Impl1() { });
				service.ParamsWithCustomType2(new Contract1Impl() { Name = "2", Age = 31 });
				service.ParamsAndReturn(Guid.NewGuid(), "", 1, DateTime.Now, 102.2m, FileAccess.ReadWrite, 1, 2, 3.0f, 4.0);
				service.WithInheritanceParam(new Derived1() { Something = 10, DerivedProp1 = 20 });

				var b = service.WithInheritanceRet();
				Assert.IsNotNull(b);
				Assert.IsInstanceOf(typeof(Derived2), b);
				Assert.AreEqual(10, (b as Derived2).Something);
				Assert.AreEqual("test", (b as Derived2).DerivedProp2);

				var enu = service.UsingEnumerators();
				Assert.IsNotNull(enu);
				Assert.AreEqual(2, enu.Count());

				var array = service.UsingArray();
				Assert.IsNotNull(array);
				Assert.AreEqual(2, array.Length);

				service.ReturningNull1();
				service.ReturningNull2();
			}

			watch.Stop();

			Console.WriteLine("took " + watch.ElapsedMilliseconds);
		}
Пример #2
0
        private static void InvokeBatch(IRemoteServ1 service)
        {
            try
            {
                service.DoSomethingWrong();
                Assert.Fail("Expecting exception here");
            }
            catch (Exception ex)
            {
                Assert.AreEqual("Remote server or invoker threw Exception with message simple message", ex.Message);
            }

            var watch = new System.Diagnostics.Stopwatch();

            watch.Start();

            // 1000
            for (var i = 0; i < 100; i++)
            {
                if (i % 1000 == 0)
                {
                    var collCount0 = GC.CollectionCount(0);
                    var collCount1 = GC.CollectionCount(1);
                    var collCount2 = GC.CollectionCount(2);

                    Console.WriteLine("Collections on Gen 0 {0}, Gen 1 {1}, Gen 2 {2} ", collCount0, collCount1, collCount2);
                }

                // Console.WriteLine("new batch ");

                service.NoParamsOrReturn();
                service.JustParams("1");
                Assert.IsTrue(service.JustReturn().Equals("abc"));
                service.ParamsWithStruct(new MyCustomStruct()
                {
                    Name = "1", Age = 30
                });
                service.ParamsWithCustomType1(new Impl1()
                {
                });
                service.ParamsWithCustomType2(new Contract1Impl()
                {
                    Name = "2", Age = 31
                });
                service.ParamsAndReturn(Guid.NewGuid(), "", 1, DateTime.Now, 102.2m, FileAccess.ReadWrite, 1, 2, 3.0f, 4.0);
                service.WithInheritanceParam(new Derived1()
                {
                    Something = 10, DerivedProp1 = 20
                });

                var b = service.WithInheritanceRet();
                Assert.IsNotNull(b);
                Assert.IsInstanceOf(typeof(Derived2), b);
                Assert.AreEqual(10, (b as Derived2).Something);
                Assert.AreEqual("test", (b as Derived2).DerivedProp2);

                var enu = service.UsingEnumerators();
                Assert.IsNotNull(enu);
                Assert.AreEqual(2, enu.Count());

                var array = service.UsingArray();
                Assert.IsNotNull(array);
                Assert.AreEqual(2, array.Length);

                service.ReturningNull1();
                service.ReturningNull2();
            }

            watch.Stop();

            Console.WriteLine("took " + watch.ElapsedMilliseconds);
        }