[FullTrustTest] // ISerializable types cannot be deserialized in medium trust. public void InvokeOperationParams_TestPrimitive() { TestProvider_Scenarios provider = new TestProvider_Scenarios(TestURIs.TestProvider_Scenarios); MixedType changedObj = null; MixedType valuesObj = null; InvokeOperation <bool> invoke = null; LoadOperation lo = provider.Load(provider.GetMixedTypesQuery(), false); // wait for Load to complete, then invoke some domain methods EnqueueConditional(() => lo.IsComplete); EnqueueCallback(delegate { changedObj = provider.MixedTypes.Single(t => (t.ID == "MixedType_Max")); valuesObj = provider.MixedTypes.Single(t => (t.ID == "MixedType_Other")); // invoke invoke operation invoke = provider.TestPrimitive_Online(changedObj, valuesObj.BooleanProp, valuesObj.ByteProp, valuesObj.SByteProp, valuesObj.Int16Prop, valuesObj.UInt16Prop, valuesObj.Int32Prop, valuesObj.UInt32Prop, valuesObj.Int64Prop, valuesObj.UInt64Prop, valuesObj.CharProp, valuesObj.DoubleProp, valuesObj.SingleProp, TestHelperMethods.DefaultOperationAction, null); }); EnqueueConditional(() => invoke.IsComplete); EnqueueCallback(delegate { // verify invocation completed succesfully Assert.IsNull(invoke.Error); Assert.IsFalse(invoke.ValidationErrors.Any()); Assert.IsTrue(invoke.Value); // verify the entity we passed as the invoke operation param is not changed on the client Assert.AreEqual(255, changedObj.ByteProp); }); EnqueueTestComplete(); }