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
- DefaultBindingPropertyAttribute.cs
- CodeArrayCreateExpression.cs
- Monitor.cs
- XmlExtensionFunction.cs
- CancellationHandler.cs
- RolePrincipal.cs
- XmlExpressionDumper.cs
- DataListCommandEventArgs.cs
- CellParaClient.cs
- SessionStateItemCollection.cs
- FontSizeConverter.cs
- XmlEncodedRawTextWriter.cs
- DataSourceXmlSerializer.cs
- SortAction.cs
- XmlDownloadManager.cs
- ManagementExtension.cs
- ToolStripSettings.cs
- ClientData.cs
- NetNamedPipeBindingCollectionElement.cs
- SafeRightsManagementHandle.cs
- RoleGroup.cs
- _FtpControlStream.cs
- UnsafeNativeMethods.cs
- SafeArrayTypeMismatchException.cs
- SafeFindHandle.cs
- ConstantProjectedSlot.cs
- IResourceProvider.cs
- login.cs
- DocumentsTrace.cs
- ArrayList.cs
- UserValidatedEventArgs.cs
- UpdateDelegates.Generated.cs
- PageEventArgs.cs
- Operand.cs
- DataGridViewColumnCollectionEditor.cs
- NumberFormatInfo.cs
- MemberJoinTreeNode.cs
- GenericAuthenticationEventArgs.cs
- PointLight.cs
- TriggerAction.cs
- ProxyHelper.cs
- HttpRawResponse.cs
- Effect.cs
- Model3DGroup.cs
- DuplicateWaitObjectException.cs
- ReadOnlyCollection.cs
- InternalCache.cs
- HttpTransportElement.cs
- COM2ComponentEditor.cs
- RegionData.cs
- PriorityBinding.cs
- MachineKeyConverter.cs
- SocketInformation.cs
- listitem.cs
- ConfigXmlDocument.cs
- ElementHostAutomationPeer.cs
- CodeSnippetCompileUnit.cs
- SkipStoryboardToFill.cs
- StorageBasedPackageProperties.cs
- DecimalFormatter.cs
- Int32.cs
- StorageFunctionMapping.cs
- PersistenceTypeAttribute.cs
- TextRangeEditLists.cs
- CompilerResults.cs
- HttpGetProtocolImporter.cs
- TrustSection.cs
- FormCollection.cs
- SiteMapDataSourceView.cs
- WindowsListViewItem.cs
- JumpList.cs
- TraceHandler.cs
- OracleRowUpdatedEventArgs.cs
- FontUnit.cs
- ScriptingSectionGroup.cs
- FontDifferentiator.cs
- ResXBuildProvider.cs
- WebPartConnectionsDisconnectVerb.cs
- QueryRewriter.cs
- oledbmetadatacollectionnames.cs
- InstallerTypeAttribute.cs
- _BaseOverlappedAsyncResult.cs
- WebPartMovingEventArgs.cs
- CannotUnloadAppDomainException.cs
- BasicExpandProvider.cs
- InstanceDescriptor.cs
- PagesChangedEventArgs.cs
- Cursor.cs
- ProxyGenerator.cs
- DataServiceProviderMethods.cs
- WebControlsSection.cs
- InheritanceAttribute.cs
- Section.cs
- JsonEncodingStreamWrapper.cs
- _Events.cs
- XPathItem.cs
- ArrayExtension.cs
- QilName.cs
- CollectionMarkupSerializer.cs
- TaiwanCalendar.cs