Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / _SSPISessionCache.cs / 1305376 / _SSPISessionCache.cs
/*++ Copyright (c) Microsoft Corporation Module Name: _SspiSessionCache.cs Abstract: The file implements trivial SSPI credential caching mechanism based on lru list Author: Alexei Vopilov 20-Oct-2004 Revision History: --*/ namespace System.Net.Security { using System.Net; using System.Threading; using System.Collections; // // Implements delayed SSPI handle release, like a finalizable object though the handles are kept alive until being pushed out // by the newly incoming ones. // internal static class SSPIHandleCache { private const int c_MaxCacheSize = 0x1F; // must a (power of 2) - 1 private static SafeCredentialReference[] _CacheSlots = new SafeCredentialReference[c_MaxCacheSize+1]; private static int _Current = -1; internal static void CacheCredential(SafeFreeCredentials newHandle) { try { SafeCredentialReference newRef = SafeCredentialReference.CreateReference(newHandle); if (newRef == null) return; unchecked { int index = Interlocked.Increment(ref _Current) & c_MaxCacheSize; newRef = Interlocked.Exchange(ref _CacheSlots[index], newRef); } if (newRef != null) newRef.Close(); } catch(Exception e) { if (!NclUtilities.IsFatal(e)){ GlobalLog.Assert("SSPIHandlCache", "Attempted to throw: " + e.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
- InternalBufferOverflowException.cs
- WebPartConnectionsCancelEventArgs.cs
- SqlDelegatedTransaction.cs
- NamespaceList.cs
- PropertyItemInternal.cs
- DesignerActionHeaderItem.cs
- TrackBar.cs
- LocatorManager.cs
- DataGridViewMethods.cs
- SimpleExpression.cs
- SqlDataAdapter.cs
- OrderByQueryOptionExpression.cs
- __FastResourceComparer.cs
- ReliabilityContractAttribute.cs
- SystemTcpConnection.cs
- ParameterToken.cs
- InvalidCardException.cs
- ReadOnlyAttribute.cs
- RuleSettings.cs
- DeclaredTypeValidatorAttribute.cs
- precedingsibling.cs
- ClientUIRequest.cs
- DataGridViewEditingControlShowingEventArgs.cs
- EdmConstants.cs
- Literal.cs
- FixedBufferAttribute.cs
- CompositeCollectionView.cs
- AllMembershipCondition.cs
- ViewgenContext.cs
- EventWaitHandleSecurity.cs
- assertwrapper.cs
- DtdParser.cs
- indexingfiltermarshaler.cs
- shaperfactoryquerycacheentry.cs
- WebPartDescriptionCollection.cs
- NetTcpBindingElement.cs
- CounterSampleCalculator.cs
- HtmlInputPassword.cs
- DashStyle.cs
- COM2FontConverter.cs
- ApplicationCommands.cs
- DesignerActionUI.cs
- Hex.cs
- HttpConfigurationContext.cs
- Frame.cs
- ApplicationHost.cs
- RepeatInfo.cs
- DecimalAnimation.cs
- OciHandle.cs
- xdrvalidator.cs
- CompositeControl.cs
- ProviderConnectionPointCollection.cs
- XmlSchemaCollection.cs
- FrameworkElementFactory.cs
- CacheVirtualItemsEvent.cs
- WindowsGraphics2.cs
- SocketException.cs
- Message.cs
- EventLogger.cs
- MasterPageCodeDomTreeGenerator.cs
- ContentDesigner.cs
- WebExceptionStatus.cs
- ResourceBinder.cs
- MouseCaptureWithinProperty.cs
- DataListItemEventArgs.cs
- DeviceSpecificDesigner.cs
- RoleManagerModule.cs
- HebrewNumber.cs
- _LazyAsyncResult.cs
- BooleanStorage.cs
- ExceptionHelpers.cs
- KoreanCalendar.cs
- PaginationProgressEventArgs.cs
- DatePickerTextBox.cs
- ScriptResourceInfo.cs
- InputBinding.cs
- SecurityPermission.cs
- DeploymentSectionCache.cs
- FtpWebRequest.cs
- ReflectionTypeLoadException.cs
- ArrayList.cs
- Html32TextWriter.cs
- GifBitmapEncoder.cs
- ConfigurationStrings.cs
- Config.cs
- PerformanceCounterScope.cs
- ProviderUtil.cs
- DesignerForm.cs
- StateWorkerRequest.cs
- IPEndPoint.cs
- TransactionTraceIdentifier.cs
- PathFigureCollectionValueSerializer.cs
- SuppressIldasmAttribute.cs
- CorrelationTokenTypeConvertor.cs
- TogglePattern.cs
- FieldBuilder.cs
- RouteValueDictionary.cs
- Container.cs
- ParameterCollection.cs
- ResXBuildProvider.cs