1
// Copyright 2004-2008 Castle Project - http://www.castleproject.org/
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle
.Facilities
.WcfIntegration
.Demo
19 using System
.ServiceModel
;
20 using System
.ServiceModel
.Description
;
21 using Castle
.MicroKernel
.Registration
;
23 using Castle
.Windsor
.Installer
;
25 public class Global
: HttpApplication
27 private static IWindsorContainer container
;
29 protected void Application_Start(object sender
, EventArgs e
)
31 ServiceDebugBehavior returnFaults
= new ServiceDebugBehavior();
32 returnFaults
.IncludeExceptionDetailInFaults
= true;
33 returnFaults
.HttpHelpPageEnabled
= true;
35 ServiceMetadataBehavior metadata
= new ServiceMetadataBehavior();
36 metadata
.HttpGetEnabled
= true;
38 container
= new WindsorContainer()
39 .AddFacility
<WcfFacility
>()
40 .Install(Configuration
.FromXmlFile("windsor.xml"))
42 Component
.For
<IServiceBehavior
>().Instance(returnFaults
),
43 Component
.For
<IServiceBehavior
>().Instance(metadata
),
44 Component
.For
<IAmUsingWindsor
>()
45 .Named("look no config")
46 .ImplementedBy
<UsingWindsorWithoutConfig
>()
48 Property
.ForKey("number").Eq(42))
50 WindsorServiceHostFactory
.RegisterContainer(container
.Kernel
);
53 protected void Application_End(object sender
, EventArgs e
)
55 if (container
!= null)