/// <summary> /// Inject dependent third-party components /// </summary> /// <param name="builder"></param> protected override void RegisterBuilder(ContainerBuilderWrapper builder) { base.RegisterBuilder(builder); builder.AddFilter(typeof(ServiceExceptionFilter)); builder.RegisterType <RestTransportDiagnosticProcessor>().As <ITracingDiagnosticProcessor>().SingleInstance(); builder.RegisterType(typeof(HttpExecutor)).As(typeof(IServiceExecutor)) .Named <IServiceExecutor>(CommunicationProtocol.Http.ToString()).SingleInstance(); if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.Http) { RegisterDefaultProtocol(builder); } else if (CPlatform.AppConfig.ServerOptions.Protocol == CommunicationProtocol.None) { RegisterHttpProtocol(builder); } }