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
- SmiXetterAccessMap.cs
- TransportContext.cs
- RtType.cs
- DocumentSchemaValidator.cs
- FieldToken.cs
- MimeWriter.cs
- DbConnectionFactory.cs
- SettingsBindableAttribute.cs
- Paragraph.cs
- FormatException.cs
- CommandDevice.cs
- SafeIUnknown.cs
- MemoryPressure.cs
- XMLSchema.cs
- ApplicationHost.cs
- SuppressMergeCheckAttribute.cs
- CompiledRegexRunnerFactory.cs
- MetabaseSettingsIis7.cs
- PeerApplication.cs
- StaticTextPointer.cs
- TypeElement.cs
- SHA512Managed.cs
- XmlStringTable.cs
- IdentityHolder.cs
- SamlAssertion.cs
- DropTarget.cs
- WindowsFont.cs
- NewArrayExpression.cs
- SharedStream.cs
- QilInvoke.cs
- Helper.cs
- ListViewItem.cs
- ClientTargetSection.cs
- HierarchicalDataBoundControl.cs
- RestClientProxyHandler.cs
- MouseCaptureWithinProperty.cs
- HtmlAnchor.cs
- HttpModule.cs
- BaseTemplateCodeDomTreeGenerator.cs
- SqlDataSourceConfigureSortForm.cs
- DrawingContext.cs
- Win32.cs
- IImplicitResourceProvider.cs
- ProfileSettingsCollection.cs
- SpecularMaterial.cs
- LocalValueEnumerator.cs
- EventProxy.cs
- HtmlTable.cs
- RelationalExpressions.cs
- HostProtectionPermission.cs
- LocalValueEnumerator.cs
- UserControlAutomationPeer.cs
- XdrBuilder.cs
- CommandLibraryHelper.cs
- StrongNamePublicKeyBlob.cs
- Walker.cs
- IndentTextWriter.cs
- RecoverInstanceLocksCommand.cs
- StatusBarPanelClickEvent.cs
- XmlSchemaChoice.cs
- ExternalFile.cs
- HttpPostedFileBase.cs
- Int64Converter.cs
- CombinedGeometry.cs
- InstalledFontCollection.cs
- ControlEvent.cs
- PersistenceProvider.cs
- SoapIncludeAttribute.cs
- Reference.cs
- StylusSystemGestureEventArgs.cs
- WebBrowserContainer.cs
- ButtonChrome.cs
- ProgressBarAutomationPeer.cs
- PeerCollaborationPermission.cs
- VisualBrush.cs
- DateTimeFormatInfo.cs
- ControlCachePolicy.cs
- SQLMembershipProvider.cs
- TextAutomationPeer.cs
- ReadOnlyPropertyMetadata.cs
- CurrentChangedEventManager.cs
- ListBindingConverter.cs
- DllNotFoundException.cs
- VectorConverter.cs
- ItemsControl.cs
- DecoratedNameAttribute.cs
- EntityDataSourceWrapper.cs
- coordinatorfactory.cs
- CellTreeSimplifier.cs
- BitmapVisualManager.cs
- VarRefManager.cs
- CustomAttributeFormatException.cs
- SqlSelectClauseBuilder.cs
- ListViewGroupCollectionEditor.cs
- Vector.cs
- BookmarkManager.cs
- FloaterParaClient.cs
- Memoizer.cs
- WebPartEditorApplyVerb.cs
- PointUtil.cs