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();
        }
示例#2
0
		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 ();
		}