private static IUnityContainer RegisterLogger(this IUnityContainer container, string logerName) { container.RegisterType <ILogger>(new ContainerControlledLifetimeManager(), new InjectionFactory(f => { try { return(NLogger.CreateEventLogTarget(source: "Server", logName: logerName)); } catch (Exception) { return(NLogger.CreateEventLogTarget()); } })); return(container); }
private static IUnityContainer RegisterWcfHosting(this IUnityContainer container, string serviceIp, int servicePort) { container .RegisterServerWcf( o => o.RegisterServiceConnection(reg => reg.NetTcp(serviceIp, servicePort)) .RegisterServiceHostFactory(reg => reg.WithBehaviors() .AddErrorHandlersBehavior(eReg => eReg.AddBusinessErrorHandler().AddLoggingErrorHandler(NLogger.CreateEventLogTarget())) .AddDependencyInjectionBehavior()) ); return(container); }