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
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- XmlLangPropertyAttribute.cs
- PresentationSource.cs
- GradientSpreadMethodValidation.cs
- OdbcError.cs
- RSAOAEPKeyExchangeDeformatter.cs
- AppDomainProtocolHandler.cs
- XmlSchemaComplexContent.cs
- ContainerVisual.cs
- UnsafeNativeMethods.cs
- Stackframe.cs
- mansign.cs
- ResourcePermissionBase.cs
- SecurityPolicySection.cs
- FormViewPageEventArgs.cs
- DbBuffer.cs
- Update.cs
- TextModifier.cs
- MiniCustomAttributeInfo.cs
- InternalUserCancelledException.cs
- SupportsEventValidationAttribute.cs
- IISMapPath.cs
- listitem.cs
- PackWebRequest.cs
- InvokeWebService.cs
- ResizeGrip.cs
- CodeLinePragma.cs
- InfocardExtendedInformationEntry.cs
- StrongNameMembershipCondition.cs
- DummyDataSource.cs
- FixedFindEngine.cs
- serverconfig.cs
- FloaterParaClient.cs
- BaseDataListActionList.cs
- WCFBuildProvider.cs
- RichTextBox.cs
- CaseInsensitiveComparer.cs
- Tuple.cs
- SimpleRecyclingCache.cs
- WindowsFormsHost.cs
- SelectionManager.cs
- Literal.cs
- COAUTHINFO.cs
- SymLanguageVendor.cs
- BrowserTree.cs
- Hash.cs
- StructuredProperty.cs
- XPathPatternBuilder.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- ComboBoxAutomationPeer.cs
- Button.cs
- CodeMemberEvent.cs
- TraceContextRecord.cs
- DictionaryManager.cs
- ErrorWebPart.cs
- TextDecorationCollection.cs
- FrameAutomationPeer.cs
- InputChannel.cs
- HtmlImage.cs
- Typeface.cs
- Button.cs
- ContentIterators.cs
- JsonReaderWriterFactory.cs
- PathFigureCollectionConverter.cs
- TextEditorCharacters.cs
- GuidelineCollection.cs
- RegexRunner.cs
- LoginCancelEventArgs.cs
- XmlSubtreeReader.cs
- WebEvents.cs
- ChangePassword.cs
- httpapplicationstate.cs
- CommandTreeTypeHelper.cs
- SignatureToken.cs
- ToolStripRendererSwitcher.cs
- LockedAssemblyCache.cs
- TypeDescriptorContext.cs
- ValidatorUtils.cs
- ScriptHandlerFactory.cs
- PropertyManager.cs
- ImageUrlEditor.cs
- RegexFCD.cs
- GridViewDeleteEventArgs.cs
- DiagnosticTrace.cs
- AnonymousIdentificationSection.cs
- AsymmetricSignatureFormatter.cs
- DetailsView.cs
- CapabilitiesAssignment.cs
- HandlerWithFactory.cs
- PaginationProgressEventArgs.cs
- SpotLight.cs
- WebConfigurationFileMap.cs
- WebBrowserEvent.cs
- PageBorderless.cs
- BinaryConverter.cs
- VisualStyleElement.cs
- CssTextWriter.cs
- RenderingEventArgs.cs
- DataBindingHandlerAttribute.cs
- CompositionDesigner.cs