Code:
/ FX-1434 / FX-1434 / 1.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
- ClientConfigurationHost.cs
- BackEase.cs
- ConfigXmlDocument.cs
- DataTableClearEvent.cs
- ToolStripTextBox.cs
- WebPartMinimizeVerb.cs
- ArrayTypeMismatchException.cs
- OracleEncoding.cs
- DataSourceView.cs
- EncryptedKeyIdentifierClause.cs
- DoubleStorage.cs
- MethodCallTranslator.cs
- LambdaValue.cs
- Animatable.cs
- RSAProtectedConfigurationProvider.cs
- RuntimeConfigLKG.cs
- DataTableReader.cs
- DuplicateDetector.cs
- ReversePositionQuery.cs
- MethodSet.cs
- SQLBinary.cs
- XmlAnyAttributeAttribute.cs
- EntityWithChangeTrackerStrategy.cs
- Italic.cs
- RegexCompilationInfo.cs
- CodeSnippetCompileUnit.cs
- MailBnfHelper.cs
- TableRow.cs
- Animatable.cs
- SessionStateSection.cs
- BinaryExpressionHelper.cs
- SessionStateModule.cs
- TableDetailsCollection.cs
- DataSourceControlBuilder.cs
- SQLSingle.cs
- BuilderInfo.cs
- DataGridItemEventArgs.cs
- PauseStoryboard.cs
- BasicSecurityProfileVersion.cs
- BrowserCapabilitiesCodeGenerator.cs
- XmlCompatibilityReader.cs
- CancelEventArgs.cs
- TypeNameParser.cs
- FormsAuthentication.cs
- ObjectQueryState.cs
- WebPartCatalogAddVerb.cs
- FileStream.cs
- AudioSignalProblemOccurredEventArgs.cs
- LongTypeConverter.cs
- RenderTargetBitmap.cs
- FullTrustAssembliesSection.cs
- CodeParameterDeclarationExpression.cs
- DataMisalignedException.cs
- ArraySortHelper.cs
- SchemaExporter.cs
- DataGrid.cs
- TypeDescriptionProviderAttribute.cs
- Mouse.cs
- Permission.cs
- CapabilitiesSection.cs
- PropertyInfo.cs
- translator.cs
- DataGridBoolColumn.cs
- DesignBindingValueUIHandler.cs
- SemaphoreSecurity.cs
- WebControl.cs
- SqlNotificationRequest.cs
- TextReader.cs
- C14NUtil.cs
- Path.cs
- CheckBox.cs
- ObjectManager.cs
- BufferedMessageWriter.cs
- PenCursorManager.cs
- RectangleGeometry.cs
- ServiceModelActivationSectionGroup.cs
- FontCollection.cs
- GifBitmapDecoder.cs
- PenCursorManager.cs
- FontInfo.cs
- TraceProvider.cs
- StyleSheet.cs
- TrackingProfileDeserializationException.cs
- DetailsViewUpdateEventArgs.cs
- SelectionItemPattern.cs
- XPathEmptyIterator.cs
- EdmRelationshipRoleAttribute.cs
- SourceElementsCollection.cs
- XsdDuration.cs
- FormViewInsertEventArgs.cs
- Zone.cs
- WebPartCollection.cs
- ExpressionNode.cs
- CodeArrayIndexerExpression.cs
- RelationshipManager.cs
- UserControlCodeDomTreeGenerator.cs
- DataPagerField.cs
- EntityWithKeyStrategy.cs
- CategoryNameCollection.cs
- WhiteSpaceTrimStringConverter.cs