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
- RelationHandler.cs
- ValueExpressions.cs
- ToolTip.cs
- ContentPlaceHolder.cs
- ConnectionManagementElementCollection.cs
- ISFClipboardData.cs
- X509Extension.cs
- Vector3DAnimation.cs
- UIElement.cs
- SqlOuterApplyReducer.cs
- TraceData.cs
- MD5CryptoServiceProvider.cs
- ServerValidateEventArgs.cs
- SubpageParaClient.cs
- RepeatButton.cs
- TypeReference.cs
- TableColumnCollection.cs
- WebPartManagerDesigner.cs
- DockPatternIdentifiers.cs
- WebPartTransformerAttribute.cs
- Environment.cs
- EncryptionUtility.cs
- WindowsContainer.cs
- ViewManager.cs
- Validator.cs
- ProviderConnectionPoint.cs
- TraceUtility.cs
- WindowsStatic.cs
- HttpAsyncResult.cs
- MailWebEventProvider.cs
- MarkupCompilePass2.cs
- TimelineCollection.cs
- XmlSchemaImporter.cs
- ButtonBaseAutomationPeer.cs
- DynamicPropertyReader.cs
- ObjectContext.cs
- CustomLineCap.cs
- HwndSource.cs
- GorillaCodec.cs
- ListViewHitTestInfo.cs
- SurrogateDataContract.cs
- StrokeCollection.cs
- XmlSerializerNamespaces.cs
- LogLogRecordEnumerator.cs
- TemplatedWizardStep.cs
- HostingEnvironmentException.cs
- Int32.cs
- LogicalChannelCollection.cs
- rsa.cs
- QilInvokeLateBound.cs
- Utility.cs
- Exceptions.cs
- LineBreakRecord.cs
- Int64KeyFrameCollection.cs
- RootBrowserWindowProxy.cs
- DBPropSet.cs
- StateChangeEvent.cs
- ProfileSettingsCollection.cs
- AlphabeticalEnumConverter.cs
- TimeSpanConverter.cs
- VariantWrapper.cs
- PeerNameRegistration.cs
- WebPageTraceListener.cs
- __TransparentProxy.cs
- QuotedPrintableStream.cs
- TextTreeInsertElementUndoUnit.cs
- WebPartVerb.cs
- SymbolType.cs
- InputLanguageCollection.cs
- Point3D.cs
- URLString.cs
- Rotation3DAnimationBase.cs
- MergeFilterQuery.cs
- SqlInternalConnectionSmi.cs
- OutputCacheModule.cs
- ResourceDescriptionAttribute.cs
- AppDomainFactory.cs
- ProfilePropertyMetadata.cs
- ConfigurationSectionGroupCollection.cs
- OutputCacheSection.cs
- ListControl.cs
- SecurityElementBase.cs
- XmlSchemaIdentityConstraint.cs
- ToolStripSettings.cs
- OleDbSchemaGuid.cs
- ExecutionContext.cs
- WebControlsSection.cs
- HttpResponseBase.cs
- X509RawDataKeyIdentifierClause.cs
- QilInvokeEarlyBound.cs
- SynchronizationValidator.cs
- EventHandlerList.cs
- SymbolEqualComparer.cs
- CodeLinePragma.cs
- ResourceBinder.cs
- HierarchicalDataTemplate.cs
- ListViewSortEventArgs.cs
- RequestCacheValidator.cs
- SimplePropertyEntry.cs
- Timer.cs