Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Administration / WebAdminConfigurationHelper.cs / 1305376 / 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DetailsViewModeEventArgs.cs
- HuffmanTree.cs
- ExtenderControl.cs
- ChangesetResponse.cs
- SingletonInstanceContextProvider.cs
- XPathExpr.cs
- mediaclock.cs
- PtsCache.cs
- ProcessInfo.cs
- XmlLanguage.cs
- DesignerHelpers.cs
- EDesignUtil.cs
- FirstMatchCodeGroup.cs
- XPathExpr.cs
- DataSpaceManager.cs
- TemplatedMailWebEventProvider.cs
- HttpCookie.cs
- ValueProviderWrapper.cs
- MarkupCompiler.cs
- BinHexEncoder.cs
- PatternMatcher.cs
- TypeToken.cs
- ProfileBuildProvider.cs
- FixedDSBuilder.cs
- Stopwatch.cs
- DateTimeFormatInfoScanner.cs
- ControlAdapter.cs
- LogRecordSequence.cs
- BaseDataList.cs
- AnimationClock.cs
- DeferredSelectedIndexReference.cs
- cookie.cs
- CompareInfo.cs
- NameTable.cs
- XmlWrappingReader.cs
- BulletChrome.cs
- InlineUIContainer.cs
- MulticastDelegate.cs
- AppSettingsReader.cs
- UnmanagedMemoryStreamWrapper.cs
- OrCondition.cs
- SQlBooleanStorage.cs
- CellIdBoolean.cs
- StringUtil.cs
- RefreshPropertiesAttribute.cs
- FtpRequestCacheValidator.cs
- PolyBezierSegment.cs
- TableRow.cs
- DataServiceBuildProvider.cs
- MulticastDelegate.cs
- _NestedMultipleAsyncResult.cs
- GridViewRowCollection.cs
- MemoryMappedViewAccessor.cs
- TextEditorSpelling.cs
- StorageInfo.cs
- HMACSHA512.cs
- DesignTimeDataBinding.cs
- BufferedMessageWriter.cs
- DataGridViewBindingCompleteEventArgs.cs
- FileFormatException.cs
- counter.cs
- XamlSerializer.cs
- WorkflowViewStateService.cs
- ExchangeUtilities.cs
- VirtualPathUtility.cs
- HttpGetClientProtocol.cs
- SingleObjectCollection.cs
- HTTP_SERVICE_CONFIG_URLACL_KEY.cs
- ItemCheckEvent.cs
- DownloadProgressEventArgs.cs
- ItemsControlAutomationPeer.cs
- DesignerAttribute.cs
- SelectionHighlightInfo.cs
- FieldCollectionEditor.cs
- CmsUtils.cs
- DefaultDiscoveryServiceExtension.cs
- TextTreeObjectNode.cs
- ThicknessKeyFrameCollection.cs
- ReadOnlyTernaryTree.cs
- FrameworkTextComposition.cs
- InputProcessorProfiles.cs
- LayoutEditorPart.cs
- DecimalConstantAttribute.cs
- SecurityDescriptor.cs
- NavigationFailedEventArgs.cs
- TableHeaderCell.cs
- Crypto.cs
- RootProfilePropertySettingsCollection.cs
- MultipartIdentifier.cs
- RedistVersionInfo.cs
- EventRouteFactory.cs
- SourceChangedEventArgs.cs
- DelegateSerializationHolder.cs
- Lease.cs
- DrawListViewColumnHeaderEventArgs.cs
- SqlCrossApplyToCrossJoin.cs
- TemplatedAdorner.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- LinkConverter.cs
- DataObjectCopyingEventArgs.cs