Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Administration / WebAdminConfigurationHelper.cs / 2 / WebAdminConfigurationHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /************************************************************************************************************/ namespace System.Web.Administration { using System; using System.Collections.Specialized; using System.Configuration; using System.Configuration.Provider; using System.Reflection; using System.Web; using System.Web.Hosting; using System.Web.Management; using System.Web.Security; using System.Web.Util; using System.Web.UI; using System.Security.Permissions; [Serializable] internal sealed class WebAdminConfigurationHelper : MarshalByRefObject, IRegisteredObject { public WebAdminConfigurationHelper() { HostingEnvironment.RegisterObject(this); } public override Object InitializeLifetimeService() { return null; // never expire lease } public VirtualDirectory GetVirtualDirectory(string path) { if (HttpRuntime.NamedPermissionSet != null) { HttpRuntime.NamedPermissionSet.PermitOnly(); } return HostingEnvironment.VirtualPathProvider.GetDirectory(path); } public object CallMembershipProviderMethod (string methodName, object[] parameters, Type[] paramTypes) { Type tempType = typeof(HttpContext).Assembly.GetType("System.Web.Security.Membership"); object returnObject = null; BindingFlags allBindingFlags = BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; MethodInfo method = null; if (paramTypes != null) { method = tempType.GetMethod(methodName, allBindingFlags, null, paramTypes, null); } else { method = tempType.GetMethod(methodName, allBindingFlags); } if (method != null) { if (HttpRuntime.NamedPermissionSet != null) { HttpRuntime.NamedPermissionSet.PermitOnly(); } returnObject = method.Invoke(null, parameters); } object[] newValues = new object[parameters.Length + 1]; newValues[0] = returnObject; int j = 1; for (int i = 0; i < (parameters.Length); i++) { newValues[j++] = parameters[i]; } returnObject = (object) newValues; return returnObject; } public object GetMembershipProviderProperty(string propertyName) { Type tempType = typeof(HttpContext).Assembly.GetType("System.Web.Security.Membership"); object returnObject = null; BindingFlags allBindingFlags = BindingFlags.GetProperty | BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; if (HttpRuntime.NamedPermissionSet != null) { HttpRuntime.NamedPermissionSet.PermitOnly(); } returnObject = tempType.InvokeMember(propertyName, allBindingFlags, null, null, null, System.Globalization.CultureInfo.InvariantCulture); return returnObject; } public object CallRoleProviderMethod (string methodName, object[] parameters, Type[] paramTypes) { Type tempType = typeof(HttpContext).Assembly.GetType("System.Web.Security.Roles"); object returnObject = null; BindingFlags allBindingFlags = BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; MethodInfo method = null; if (paramTypes != null) { method = tempType.GetMethod(methodName, allBindingFlags, null, paramTypes, null); } else { method = tempType.GetMethod(methodName, allBindingFlags); } if (method != null) { if (HttpRuntime.NamedPermissionSet != null) { HttpRuntime.NamedPermissionSet.PermitOnly(); } returnObject = method.Invoke(null, parameters); } object[] newValues = new object[parameters.Length + 1]; newValues[0] = returnObject; int j = 1; for (int i = 0; i < (parameters.Length); i++) { newValues[j++] = parameters[i]; } returnObject = (object) newValues; return returnObject; } void IRegisteredObject.Stop(bool immediate) { HostingEnvironment.UnregisterObject(this); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlDependencyUtils.cs
- _NtlmClient.cs
- FixedSOMLineRanges.cs
- WinEventWrap.cs
- ContainerAction.cs
- HttpModulesSection.cs
- CultureInfoConverter.cs
- BitmapEffectInput.cs
- TypeHelper.cs
- ProxyDataContractResolver.cs
- UniqueEventHelper.cs
- ColumnHeader.cs
- XmlNamedNodeMap.cs
- StylusEditingBehavior.cs
- DrawingCollection.cs
- TraceProvider.cs
- PathSegmentCollection.cs
- SessionState.cs
- EncryptedData.cs
- EmissiveMaterial.cs
- SQLSingle.cs
- _IPv6Address.cs
- Invariant.cs
- BulletDecorator.cs
- CommandLibraryHelper.cs
- CorrelationManager.cs
- DrawTreeNodeEventArgs.cs
- WebPageTraceListener.cs
- FileClassifier.cs
- XamlVector3DCollectionSerializer.cs
- SelectionChangedEventArgs.cs
- ConnectionStringSettingsCollection.cs
- IndexedEnumerable.cs
- CommentEmitter.cs
- Membership.cs
- AccessKeyManager.cs
- OdbcConnectionOpen.cs
- LocalFileSettingsProvider.cs
- DigestTraceRecordHelper.cs
- XmlArrayItemAttributes.cs
- StringFormat.cs
- MappingMetadataHelper.cs
- ToolBarPanel.cs
- RegistrationServices.cs
- DateTimeConverter2.cs
- CharacterMetrics.cs
- ConfigurationManagerInternalFactory.cs
- TreeNodeStyle.cs
- RestHandler.cs
- ListBoxItemAutomationPeer.cs
- FuncTypeConverter.cs
- ParameterBuilder.cs
- DayRenderEvent.cs
- InfoCardArgumentException.cs
- SettingsSection.cs
- SqlNodeAnnotations.cs
- ModulesEntry.cs
- CodeTypeParameter.cs
- EntityContainerAssociationSetEnd.cs
- QuaternionAnimation.cs
- SafeTimerHandle.cs
- ScrollItemPatternIdentifiers.cs
- MultipleViewPattern.cs
- BitmapMetadataEnumerator.cs
- SourceLineInfo.cs
- DynamicRenderer.cs
- ThreadPoolTaskScheduler.cs
- XmlHierarchyData.cs
- querybuilder.cs
- ImportStoreException.cs
- FontFamilyConverter.cs
- HttpCacheParams.cs
- ReferenceConverter.cs
- xml.cs
- SafeFindHandle.cs
- InputScopeAttribute.cs
- FunctionUpdateCommand.cs
- COAUTHINFO.cs
- MachineKeySection.cs
- TreeNodeBindingCollection.cs
- XmlCollation.cs
- Evaluator.cs
- RectangleF.cs
- MenuEventArgs.cs
- DocumentPaginator.cs
- DataGridViewControlCollection.cs
- FormViewInsertedEventArgs.cs
- TextModifierScope.cs
- HttpContext.cs
- WebPartTransformerCollection.cs
- InstanceStore.cs
- AspNetHostingPermission.cs
- SqlWebEventProvider.cs
- ArithmeticException.cs
- ListControl.cs
- ProviderCommandInfoUtils.cs
- OracleTransaction.cs
- SetMemberBinder.cs
- HtmlImage.cs
- ResourceWriter.cs