void IServiceBehavior.ApplyDispatchBehavior (
ServiceDescription description,
ServiceHostBase serviceHostBase)
{
foreach (var cdb in serviceHostBase.ChannelDispatchers) {
var cd = cdb as ChannelDispatcher;
if (cd == null) // non-ChannelDispatcher ChannelDispatcherBase instance.
continue;
foreach (var ed in cd.Endpoints) {
var dr = ed.DispatchRuntime;
dr.ExternalAuthorizationPolicies = ExternalAuthorizationPolicies;
dr.ImpersonateCallerForAllOperations = ImpersonateCallerForAllOperations;
dr.PrincipalPermissionMode = PrincipalPermissionMode;
dr.RoleProvider = RoleProvider;
dr.ServiceAuthorizationManager = ServiceAuthorizationManager;
}
}
}