Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Role / DirectoryGroupQuery.cs / 1305376 / DirectoryGroupQuery.cs
#region Using directives using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Net; using System.DirectoryServices; #endregion namespace System.Workflow.Activities { [Serializable] sealed internal class DirectoryGroupQuery : IDirectoryOperation { public DirectoryGroupQuery() { } public void GetResult(DirectoryEntry rootEntry, DirectoryEntry currentEntry, Listresponse) { if (response == null) throw new ArgumentNullException("response"); Stack entries = new Stack (); entries.Push(currentEntry); while (entries.Count != 0) { DirectoryEntry entry = entries.Pop(); bool isGroup = false; if (Contains(entry.Properties.PropertyNames,"objectClass")) { foreach (String value in entry.Properties["objectClass"]) { if (String.Compare(value, ActiveDirectoryRoleFactory.Configuration.Group, StringComparison.Ordinal) == 0) { isGroup = true; break; } } if (isGroup) { if (Contains(entry.Properties.PropertyNames, ActiveDirectoryRoleFactory.Configuration.Member)) { foreach (String propValue in entry.Properties[ActiveDirectoryRoleFactory.Configuration.Member]) { entries.Push(new DirectoryEntry(BuildUri(propValue))); } } } else { response.Add(entry); } } } } private static bool Contains(ICollection propertyNames, String testPropertyName) { foreach (String propertyName in propertyNames) { if (String.Compare(propertyName, testPropertyName, StringComparison.Ordinal) == 0) return true; } return false; } private static String BuildUri(String propValue) { StringBuilder sb = new StringBuilder(); sb.Append("LDAP://"); for (int i = 0; i < propValue.Length; ++i) { if (propValue[i] == '/') sb.Append("\\/"); else sb.Append(propValue[i]); } return sb.ToString(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Converter.cs
- GridItemCollection.cs
- ValidationError.cs
- DataRecordInfo.cs
- CalendarBlackoutDatesCollection.cs
- FixedSOMImage.cs
- SourceFileBuildProvider.cs
- SystemFonts.cs
- ImplicitInputBrush.cs
- httpapplicationstate.cs
- TraceHandlerErrorFormatter.cs
- XslVisitor.cs
- OleDbEnumerator.cs
- FormatterServices.cs
- XmlAttributeCollection.cs
- WorkflowOperationErrorHandler.cs
- AutomationPeer.cs
- PlatformCulture.cs
- serverconfig.cs
- SectionUpdates.cs
- DomainUpDown.cs
- WebPartCollection.cs
- LifetimeServices.cs
- DataTableNewRowEvent.cs
- VirtualPathProvider.cs
- DbUpdateCommandTree.cs
- MimeMapping.cs
- SqlDataSourceStatusEventArgs.cs
- FlowDocumentScrollViewer.cs
- WindowsPrincipal.cs
- Pkcs9Attribute.cs
- WrappedReader.cs
- AspProxy.cs
- PrimitiveRenderer.cs
- ZipIOLocalFileHeader.cs
- RtfToXamlReader.cs
- ParenExpr.cs
- documentsequencetextcontainer.cs
- FontConverter.cs
- X509CertificateCollection.cs
- FormViewRow.cs
- StickyNoteAnnotations.cs
- Mapping.cs
- PlaceHolder.cs
- AppliedDeviceFiltersDialog.cs
- WebPartMenu.cs
- EntityTypeBase.cs
- ErrorProvider.cs
- HttpWriter.cs
- DataSourceView.cs
- PointAnimationClockResource.cs
- DataConnectionHelper.cs
- CqlGenerator.cs
- XDRSchema.cs
- BufferedOutputStream.cs
- AccessViolationException.cs
- EnumerableCollectionView.cs
- NegatedConstant.cs
- PeerSecurityHelpers.cs
- WinFormsSpinner.cs
- InvalidDataContractException.cs
- _UriTypeConverter.cs
- FragmentQueryKB.cs
- _OSSOCK.cs
- SettingsPropertyCollection.cs
- HistoryEventArgs.cs
- ObjectTag.cs
- DesignerSerializerAttribute.cs
- ProxyWebPart.cs
- MatrixStack.cs
- Byte.cs
- ComponentResourceKeyConverter.cs
- TypeDescriptionProviderAttribute.cs
- XPathDocumentBuilder.cs
- WebPartConnectionsDisconnectVerb.cs
- UpDownBase.cs
- Button.cs
- lengthconverter.cs
- DifferencingCollection.cs
- ToolStripMenuItemDesigner.cs
- RepeatInfo.cs
- TextEndOfSegment.cs
- DataGridToolTip.cs
- infer.cs
- DebugController.cs
- ResourcesBuildProvider.cs
- SystemIPInterfaceStatistics.cs
- DynamicILGenerator.cs
- ClientSettings.cs
- ConnectionManagementElementCollection.cs
- RecordsAffectedEventArgs.cs
- SiteMapPath.cs
- GlyphCache.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- ItemContainerPattern.cs
- TableItemStyle.cs
- AliasedExpr.cs
- ChangesetResponse.cs
- ConfigurationSectionCollection.cs
- ComplexBindingPropertiesAttribute.cs