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
- ButtonChrome.cs
- AssemblyHash.cs
- ExpressionVisitor.cs
- ErrorProvider.cs
- DragStartedEventArgs.cs
- KnownTypeAttribute.cs
- ResourceManager.cs
- LabelDesigner.cs
- GeometryCombineModeValidation.cs
- templategroup.cs
- MarkupCompiler.cs
- ProviderConnectionPoint.cs
- DataGridViewTextBoxCell.cs
- Interop.cs
- DataGridViewAutoSizeModeEventArgs.cs
- DownloadProgressEventArgs.cs
- StringUtil.cs
- Input.cs
- DataGridViewBand.cs
- RadioButtonStandardAdapter.cs
- _emptywebproxy.cs
- CompensationToken.cs
- DropShadowEffect.cs
- CodeIterationStatement.cs
- ListViewUpdateEventArgs.cs
- Matrix.cs
- WorkflowHostingEndpoint.cs
- RangeExpression.cs
- _FixedSizeReader.cs
- CaretElement.cs
- ApplicationTrust.cs
- PageRequestManager.cs
- DBSchemaTable.cs
- FormattedTextSymbols.cs
- AssemblyBuilder.cs
- GradientStop.cs
- ConnectionInterfaceCollection.cs
- PageBuildProvider.cs
- FeatureManager.cs
- ConfigurationManagerInternalFactory.cs
- FaultConverter.cs
- GroupByExpressionRewriter.cs
- TableNameAttribute.cs
- FixedElement.cs
- XmlNamespaceManager.cs
- SqlRowUpdatedEvent.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- DigitShape.cs
- PenCursorManager.cs
- FileUpload.cs
- StylusPlugInCollection.cs
- SynchronizedDispatch.cs
- ProfileService.cs
- HtmlTableCell.cs
- RubberbandSelector.cs
- Vector3DAnimationBase.cs
- ToolStripItemCollection.cs
- PenLineCapValidation.cs
- DesignerRegion.cs
- Int32.cs
- HttpProfileBase.cs
- KeyConverter.cs
- TextServicesProperty.cs
- JavaScriptString.cs
- TypeBuilderInstantiation.cs
- SafeEventLogReadHandle.cs
- NamespaceList.cs
- TrustManagerMoreInformation.cs
- AssertFilter.cs
- CatalogZone.cs
- TargetControlTypeAttribute.cs
- CheckBoxPopupAdapter.cs
- GorillaCodec.cs
- EntityConnectionStringBuilder.cs
- SQLStringStorage.cs
- DataConnectionHelper.cs
- SqlNode.cs
- HashCodeCombiner.cs
- ExpressionVisitor.cs
- Buffer.cs
- CheckBoxField.cs
- SchemaInfo.cs
- sqlmetadatafactory.cs
- CompilerError.cs
- ServiceModelExtensionCollectionElement.cs
- FunctionDefinition.cs
- ProfessionalColors.cs
- ProtectedConfigurationSection.cs
- BoolExpressionVisitors.cs
- TypeResolvingOptionsAttribute.cs
- DataSourceCache.cs
- ValuePatternIdentifiers.cs
- SessionPageStateSection.cs
- BindingBase.cs
- SqlMethodTransformer.cs
- Block.cs
- CacheChildrenQuery.cs
- DataGridViewLinkCell.cs
- SAPIEngineTypes.cs
- HierarchicalDataBoundControlAdapter.cs