public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase) { foreach (ServiceEndpoint endpoint in serviceDescription.Endpoints) { foreach (OperationDescription operation in endpoint.Contract.Operations) { IOperationBehavior behavior = new LoggingOperationBehavior(); operation.Behaviors.Add(behavior); } } }
public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase) { foreach (ServiceEndpoint endpoint in serviceDescription.Endpoints) { foreach (OperationDescription operation in endpoint.Contract.Operations) { /* deactivate "webservice logger for smoke test" for now... * IOperationBehavior dbLogBehavior = new WebServiceCallLoggerBehavior(); * operation.Behaviors.Add(dbLogBehavior); * Log.Debug($"WebServiceCallLoggerBehavior added to operation: {operation.Name}"); */ var logAttr = operation.SyncMethod.GetCustomAttributes(typeof(LoggingOperationAttribute), false).FirstOrDefault(); if (logAttr != null && ((logAttr as LoggingOperationAttribute).ConfigType == LoggingOperationConfig.Disable)) { continue; // dont attach behavior if we dont want logs for this operation } IOperationBehavior behavior = new LoggingOperationBehavior(); operation.Behaviors.Add(behavior); Log.Debug($"LoggingOperationBehavior added to operation: {operation.Name}"); } } }