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
- GroupBoxRenderer.cs
- DropSourceBehavior.cs
- TableLayoutSettingsTypeConverter.cs
- SchemaElement.cs
- X509LogoTypeExtension.cs
- ExclusiveTcpListener.cs
- RoleManagerModule.cs
- ClonableStack.cs
- MarkerProperties.cs
- ComponentCollection.cs
- ExtendedPropertyCollection.cs
- EnumType.cs
- CodeGroup.cs
- ConstraintManager.cs
- CodeAttributeDeclarationCollection.cs
- InputScope.cs
- GiveFeedbackEvent.cs
- DrawingAttributes.cs
- NativeWindow.cs
- HtmlShimManager.cs
- ProfileSettingsCollection.cs
- PostBackTrigger.cs
- DebuggerAttributes.cs
- TrustManagerMoreInformation.cs
- CriticalFinalizerObject.cs
- Stopwatch.cs
- AttributeCollection.cs
- ContextMenu.cs
- DXD.cs
- SafeArrayTypeMismatchException.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- Char.cs
- Matrix3DValueSerializer.cs
- parserscommon.cs
- IISUnsafeMethods.cs
- StandardMenuStripVerb.cs
- WpfMemberInvoker.cs
- UriTemplateClientFormatter.cs
- CookieParameter.cs
- ScriptingSectionGroup.cs
- SelectionProcessor.cs
- PrePostDescendentsWalker.cs
- TextWriterTraceListener.cs
- Sentence.cs
- PathFigureCollection.cs
- JsonQNameDataContract.cs
- WebPartsSection.cs
- Misc.cs
- SeverityFilter.cs
- ModelPerspective.cs
- DBSqlParserTable.cs
- BooleanFunctions.cs
- AutoGeneratedFieldProperties.cs
- ADMembershipProvider.cs
- ISessionStateStore.cs
- SQLDoubleStorage.cs
- Brushes.cs
- QuaternionValueSerializer.cs
- BaseDataBoundControl.cs
- updateconfighost.cs
- Helpers.cs
- ClientClassGenerator.cs
- SmtpNetworkElement.cs
- EncoderParameter.cs
- FileCodeGroup.cs
- IPAddressCollection.cs
- DragEvent.cs
- FullTextLine.cs
- ExpandedWrapper.cs
- JoinElimination.cs
- LongValidatorAttribute.cs
- Literal.cs
- SchemaImporterExtensionElementCollection.cs
- RequestCacheManager.cs
- ForceCopyBuildProvider.cs
- FormsIdentity.cs
- XsdCachingReader.cs
- EventLogEntryCollection.cs
- VectorConverter.cs
- HttpRequestCacheValidator.cs
- SqlWriter.cs
- DataSourceSelectArguments.cs
- PageWrapper.cs
- ItemMap.cs
- CursorConverter.cs
- WithStatement.cs
- ApplicationGesture.cs
- TreeViewItem.cs
- _NetworkingPerfCounters.cs
- PropertySegmentSerializer.cs
- DefaultPerformanceCounters.cs
- VectorAnimationUsingKeyFrames.cs
- DesignerInterfaces.cs
- VoiceInfo.cs
- LifetimeManager.cs
- APCustomTypeDescriptor.cs
- MaskedTextProvider.cs
- NeutralResourcesLanguageAttribute.cs
- ReflectEventDescriptor.cs
- Button.cs