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
- FamilyMapCollection.cs
- SemanticResultValue.cs
- WhitespaceReader.cs
- DataGridViewRowCollection.cs
- Point3D.cs
- RelatedImageListAttribute.cs
- UndoEngine.cs
- DynamicMethod.cs
- NamespaceExpr.cs
- TabRenderer.cs
- DataServiceProcessingPipeline.cs
- CodeLabeledStatement.cs
- CodeTypeDelegate.cs
- SerializationAttributes.cs
- QueryContinueDragEventArgs.cs
- ResourceProviderFactory.cs
- TypeLoadException.cs
- ManagementObject.cs
- TextContainer.cs
- DateTimeStorage.cs
- OptimizedTemplateContentHelper.cs
- XmlSchemaNotation.cs
- propertyentry.cs
- Trace.cs
- PaintEvent.cs
- SchemaImporterExtensionsSection.cs
- TreeNodeBindingCollection.cs
- ContentValidator.cs
- PersonalizableTypeEntry.cs
- FlowLayoutPanel.cs
- AuthenticationService.cs
- EmptyEnumerable.cs
- contentDescriptor.cs
- FaultFormatter.cs
- StrokeFIndices.cs
- ListCollectionView.cs
- AppDomainAttributes.cs
- CompositeDispatchFormatter.cs
- DockPattern.cs
- NotifyParentPropertyAttribute.cs
- SizeFConverter.cs
- ScriptServiceAttribute.cs
- BitConverter.cs
- SettingsProperty.cs
- URLMembershipCondition.cs
- AsymmetricKeyExchangeDeformatter.cs
- SimpleType.cs
- CultureInfoConverter.cs
- RemotingSurrogateSelector.cs
- ChildTable.cs
- BitmapEffectState.cs
- ListViewHitTestInfo.cs
- ComponentTray.cs
- SourceSwitch.cs
- LinqExpressionNormalizer.cs
- CodePageUtils.cs
- PerformanceCounter.cs
- StylusCaptureWithinProperty.cs
- Selector.cs
- StringHandle.cs
- ResXBuildProvider.cs
- OdbcError.cs
- ToolStripDropDown.cs
- DashStyle.cs
- XmlNodeChangedEventManager.cs
- CapabilitiesState.cs
- TextDpi.cs
- WebServiceReceive.cs
- DataGridRelationshipRow.cs
- ApplicationInterop.cs
- CipherData.cs
- MapPathBasedVirtualPathProvider.cs
- SpeechRecognizer.cs
- ZipFileInfo.cs
- DispatcherSynchronizationContext.cs
- LineInfo.cs
- HwndStylusInputProvider.cs
- precedingquery.cs
- ToolStripDropDown.cs
- ValidationHelper.cs
- CommonXSendMessage.cs
- updatecommandorderer.cs
- ResourceProperty.cs
- TreeNodeEventArgs.cs
- Lease.cs
- SqlPersonalizationProvider.cs
- ColorMatrix.cs
- ActivityDesignerResources.cs
- MetadataCache.cs
- EmptyEnumerator.cs
- RuleSettings.cs
- CannotUnloadAppDomainException.cs
- CookielessHelper.cs
- AttributeCollection.cs
- MgmtConfigurationRecord.cs
- MergeLocalizationDirectives.cs
- TemplatingOptionsDialog.cs
- GestureRecognitionResult.cs
- HttpContextServiceHost.cs
- ResolveResponseInfo.cs