public void WebHttpBehaviorTest2() { var host = new WebServiceHost(typeof(MyService), new Uri("http://" + NetworkHelpers.LocalEphemeralEndPoint().ToString())); ServiceEndpoint webHttp = host.AddServiceEndpoint("MonoTests.System.ServiceModel.Web.WebServiceHostTest+MyService", new WebHttpBinding(), "WebHttpBinding"); MyWebHttpBehavior behavior = new MyWebHttpBehavior(); behavior.ApplyDispatchBehaviorBegin += delegate { Assert.AreEqual(typeof(EndpointAddressMessageFilter), ((ChannelDispatcher)host.ChannelDispatchers [0]).Endpoints [0].AddressFilter.GetType(), "AddressFilter.GetType #1"); Assert.AreEqual(typeof(ActionMessageFilter), ((ChannelDispatcher)host.ChannelDispatchers [0]).Endpoints [0].ContractFilter.GetType(), "ContractFilter.GetType #1"); }; behavior.ApplyDispatchBehaviorEnd += delegate { Assert.AreEqual(typeof(PrefixEndpointAddressMessageFilter), ((ChannelDispatcher)host.ChannelDispatchers [0]).Endpoints [0].AddressFilter.GetType(), "AddressFilter.GetType #2"); Assert.AreEqual(typeof(MatchAllMessageFilter), ((ChannelDispatcher)host.ChannelDispatchers [0]).Endpoints [0].ContractFilter.GetType(), "ContractFilter.GetType #2"); }; webHttp.Behaviors.Add(behavior); host.Open(); host.Close(); }
public void WebHttpBehaviorTest2 () { var host = new WebServiceHost (typeof (MyService), new Uri ("http://localhost:8080/")); ServiceEndpoint webHttp = host.AddServiceEndpoint ("MonoTests.System.ServiceModel.Web.WebServiceHostTest+MyService", new WebHttpBinding (), "WebHttpBinding"); MyWebHttpBehavior behavior = new MyWebHttpBehavior (); behavior.ApplyDispatchBehaviorBegin += delegate { Assert.AreEqual (typeof (EndpointAddressMessageFilter), ((ChannelDispatcher) host.ChannelDispatchers [0]).Endpoints [0].AddressFilter.GetType (), "AddressFilter.GetType #1"); Assert.AreEqual (typeof (ActionMessageFilter), ((ChannelDispatcher) host.ChannelDispatchers [0]).Endpoints [0].ContractFilter.GetType (), "ContractFilter.GetType #1"); }; behavior.ApplyDispatchBehaviorEnd += delegate { Assert.AreEqual (typeof (PrefixEndpointAddressMessageFilter), ((ChannelDispatcher) host.ChannelDispatchers [0]).Endpoints [0].AddressFilter.GetType (), "AddressFilter.GetType #2"); Assert.AreEqual (typeof (MatchAllMessageFilter), ((ChannelDispatcher) host.ChannelDispatchers [0]).Endpoints [0].ContractFilter.GetType (), "ContractFilter.GetType #2"); }; webHttp.Behaviors.Add (behavior); host.Open (); host.Close (); }