Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConsoleCancelEventArgs.cs
- FileLogRecordHeader.cs
- UnmanagedMemoryStream.cs
- xmlfixedPageInfo.cs
- XmlBindingWorker.cs
- DetailsViewModeEventArgs.cs
- SkewTransform.cs
- ToolStripRenderer.cs
- TTSEngineTypes.cs
- HttpVersion.cs
- DeclarationUpdate.cs
- PropertyIdentifier.cs
- Calendar.cs
- AsymmetricSignatureDeformatter.cs
- DocumentSchemaValidator.cs
- PageSettings.cs
- ToolStripContainer.cs
- CompiledRegexRunnerFactory.cs
- TabPage.cs
- HeaderCollection.cs
- OpenTypeCommon.cs
- RSAProtectedConfigurationProvider.cs
- XPathNodeHelper.cs
- ListManagerBindingsCollection.cs
- Cursor.cs
- NavigationCommands.cs
- Span.cs
- RelationalExpressions.cs
- WeakEventManager.cs
- ListManagerBindingsCollection.cs
- DES.cs
- AnchoredBlock.cs
- ChainOfResponsibility.cs
- Atom10FormatterFactory.cs
- RadioButton.cs
- PerfProviderCollection.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- PathParser.cs
- CodeAccessPermission.cs
- ReferencedType.cs
- FontFamilyValueSerializer.cs
- ScriptingJsonSerializationSection.cs
- PointCollection.cs
- StylusShape.cs
- SatelliteContractVersionAttribute.cs
- Int64.cs
- ResourcePermissionBaseEntry.cs
- BitmapMetadataEnumerator.cs
- PointConverter.cs
- EncryptedPackage.cs
- WebPartVerbCollection.cs
- WebExceptionStatus.cs
- CrossContextChannel.cs
- ValidatorCompatibilityHelper.cs
- TouchEventArgs.cs
- WebPartDescription.cs
- XmlDocumentFieldSchema.cs
- followingquery.cs
- AsymmetricKeyExchangeFormatter.cs
- AccessedThroughPropertyAttribute.cs
- ColumnTypeConverter.cs
- XmlDataImplementation.cs
- ExpressionVisitor.cs
- CodeParameterDeclarationExpression.cs
- ForceCopyBuildProvider.cs
- Add.cs
- BitmapEffectrendercontext.cs
- SerializableAttribute.cs
- CriticalFinalizerObject.cs
- DispatcherFrame.cs
- XmlChoiceIdentifierAttribute.cs
- SafeSecurityHandles.cs
- MultiplexingDispatchMessageFormatter.cs
- LabelLiteral.cs
- Container.cs
- MulticastOption.cs
- PenThreadPool.cs
- DbProviderManifest.cs
- JapaneseCalendar.cs
- Convert.cs
- DependencyPropertyKind.cs
- XmlSchemaValidationException.cs
- UserNameServiceElement.cs
- BitConverter.cs
- CopyOnWriteList.cs
- ErrorHandler.cs
- CompiledXpathExpr.cs
- TextBreakpoint.cs
- WmlPanelAdapter.cs
- HijriCalendar.cs
- SystemIPv6InterfaceProperties.cs
- DesignColumn.cs
- ResXResourceReader.cs
- SystemResourceHost.cs
- PropertyTabChangedEvent.cs
- ContractType.cs
- FolderBrowserDialog.cs
- GreaterThanOrEqual.cs
- ErrorProvider.cs
- BitmapSource.cs