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
- RowType.cs
- RenderDataDrawingContext.cs
- ServiceBehaviorAttribute.cs
- CodeIdentifiers.cs
- ApplyTemplatesAction.cs
- FontFaceLayoutInfo.cs
- InputLanguageProfileNotifySink.cs
- DesignerActionUIService.cs
- ContextStack.cs
- ToolStripRenderer.cs
- KeyInstance.cs
- FtpRequestCacheValidator.cs
- VisualBrush.cs
- XmlDocument.cs
- ScrollableControl.cs
- StaticExtension.cs
- WebProxyScriptElement.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DocumentViewerHelper.cs
- ListBase.cs
- ViewStateException.cs
- TextEncodedRawTextWriter.cs
- TextContainerChangedEventArgs.cs
- LinqDataSourceHelper.cs
- CodeTypeMemberCollection.cs
- CompleteWizardStep.cs
- BindingCollection.cs
- System.Data_BID.cs
- MaskedTextBox.cs
- Content.cs
- WindowsSysHeader.cs
- QilParameter.cs
- DataSourceExpressionCollection.cs
- AmbientLight.cs
- XmlQueryContext.cs
- BounceEase.cs
- CodeDomSerializer.cs
- IntellisenseTextBox.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- ExecutionContext.cs
- CngAlgorithmGroup.cs
- SByteConverter.cs
- DataGridCaption.cs
- XmlIlGenerator.cs
- TypeReference.cs
- InternalsVisibleToAttribute.cs
- XmlSerializerNamespaces.cs
- CheckPair.cs
- IdentityReference.cs
- CodeIndexerExpression.cs
- IncomingWebResponseContext.cs
- ArraySubsetEnumerator.cs
- PolicyUnit.cs
- TextTrailingWordEllipsis.cs
- ProtocolsConfiguration.cs
- MarshalByValueComponent.cs
- ProjectionPathBuilder.cs
- AppLevelCompilationSectionCache.cs
- XmlSerializerFactory.cs
- ProcessingInstructionAction.cs
- Configuration.cs
- PeerContact.cs
- DesignerForm.cs
- TypedOperationInfo.cs
- StorageInfo.cs
- ProtocolsConfiguration.cs
- SerialPort.cs
- Panel.cs
- EmbeddedMailObject.cs
- StateManagedCollection.cs
- SwitchLevelAttribute.cs
- TextRangeEditLists.cs
- PersistenceTypeAttribute.cs
- ItemDragEvent.cs
- fixedPageContentExtractor.cs
- SafeBitVector32.cs
- AutomationPropertyInfo.cs
- SqlFacetAttribute.cs
- RightsDocument.cs
- ContainerUtilities.cs
- LocalizedNameDescriptionPair.cs
- CollectionChangedEventManager.cs
- LinqDataSourceDeleteEventArgs.cs
- EastAsianLunisolarCalendar.cs
- LOSFormatter.cs
- ResourceSet.cs
- StringSorter.cs
- UnsafeNativeMethods.cs
- ReflectionTypeLoadException.cs
- PrintPreviewControl.cs
- CodeCatchClauseCollection.cs
- PrintPreviewGraphics.cs
- XmlCountingReader.cs
- WsdlBuildProvider.cs
- WebPartConnectionsCancelEventArgs.cs
- ObjectDataSourceEventArgs.cs
- ApplicationSettingsBase.cs
- GridViewItemAutomationPeer.cs
- DBAsyncResult.cs
- CacheDependency.cs