public static void Default_Ctor_Initializes_Correctly() { CallbackBehaviorAttribute cba = new CallbackBehaviorAttribute(); Assert.True(cba.AutomaticSessionShutdown, "AutomaticSessionShutdown should have been true"); Assert.True(cba.UseSynchronizationContext, "UseSynchronizationContext should have been true"); }
public void ApplyDispatchBehavior () { // It cannot be applied to service endpoint dispatcher. IEndpointBehavior eb = new CallbackBehaviorAttribute () { ConcurrencyMode = ConcurrencyMode.Multiple, ValidateMustUnderstand = false }; var cd = ContractDescription.GetContract (typeof (IFoo)); var se = new ServiceEndpoint (cd); var ed = new EndpointDispatcher (new EndpointAddress ("http://localhost:37564"), "IFoo", "urn:foo"); eb.ApplyDispatchBehavior (se, ed); }
public void AddBindingParameters () { IEndpointBehavior eb = new CallbackBehaviorAttribute (); var cd = ContractDescription.GetContract (typeof (IFoo)); var se = new ServiceEndpoint (cd); Assert.AreEqual (0, se.Behaviors.Count, "#1"); var pc = new BindingParameterCollection (); eb.AddBindingParameters (se, pc); Assert.AreEqual (0, pc.Count, "#2"); Assert.AreEqual (0, se.Behaviors.Count, "#3"); }
public void DefaultValues () { var c = new CallbackBehaviorAttribute (); Assert.IsTrue (c.AutomaticSessionShutdown, "#1"); Assert.AreEqual (ConcurrencyMode.Single, c.ConcurrencyMode, "#2"); Assert.IsFalse (c.IgnoreExtensionDataObject, "#3"); Assert.IsFalse (c.IncludeExceptionDetailInFaults, "#4"); Assert.AreEqual (0x10000, c.MaxItemsInObjectGraph, "#5"); Assert.AreEqual (IsolationLevel.Unspecified, c.TransactionIsolationLevel, "#6"); Assert.IsNull (c.TransactionTimeout, "#7"); Assert.IsTrue (c.UseSynchronizationContext, "#8"); Assert.IsTrue (c.ValidateMustUnderstand, "#9"); }
public static void UseSynchronizationContext_Property_Is_Settable(bool value) { CallbackBehaviorAttribute cba = new CallbackBehaviorAttribute(); cba.UseSynchronizationContext = value; Assert.Equal(value, cba.UseSynchronizationContext); }
public static void AutomaticSessionShutdown_Property_Is_Settable(bool value) { CallbackBehaviorAttribute cba = new CallbackBehaviorAttribute(); cba.AutomaticSessionShutdown = value; Assert.Equal(value, cba.AutomaticSessionShutdown); }
public void ApplyClientBehaviorNonDuplex () { // It must be applied to duplex callback runtime IEndpointBehavior eb = new CallbackBehaviorAttribute () { ConcurrencyMode = ConcurrencyMode.Multiple, ValidateMustUnderstand = false }; var cd = ContractDescription.GetContract (typeof (IFoo)); var se = new ServiceEndpoint (cd); var ed = new EndpointDispatcher (new EndpointAddress ("http://localhost:37564"), "IFoo", "urn:foo"); var cr = ed.DispatchRuntime.CallbackClientRuntime; eb.ApplyClientBehavior (se, cr); }