Example #1
0
        public void Install(ServiceHost serviceHost, IKernel kernel, IWcfBurden burden)
        {
            object extension = GetInstance(kernel, burden);

            if (extension is IServiceBehavior)
            {
                serviceHost.Description.Behaviors.Add((IServiceBehavior)extension);
            }
            else if (extension is IServiceHostAware)
            {
                WcfUtils.BindServiceHostAware(serviceHost, (IServiceHostAware)extension, true);
            }
            else if (extension is IErrorHandler)
            {
                WcfUtils.RegisterErrorHandler(serviceHost, (IErrorHandler)extension, true);
            }
            else if (extension is IExtension <ServiceHostBase> )
            {
                serviceHost.Extensions.Add((IExtension <ServiceHostBase>)extension);
            }
            else
            {
                WcfUtils.AttachExtension(serviceHost.Description.Behaviors, extension);
            }
        }
Example #2
0
 private static void BindServiceHostAware(ServiceHost serviceHost, IKernel kernel, IWcfBurden burden)
 {
     WcfUtils.AddBehaviors <IServiceHostAware>(kernel, WcfExtensionScope.Services, null, burden, serviceHostAware =>
     {
         WcfUtils.BindServiceHostAware(serviceHost, serviceHostAware, true);
         return(true);
     });
 }