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
- ValidatingReaderNodeData.cs
- RawStylusActions.cs
- CodeCatchClause.cs
- OracleParameter.cs
- ApplicationException.cs
- x509utils.cs
- RoleManagerEventArgs.cs
- XhtmlTextWriter.cs
- Function.cs
- DataGridTable.cs
- VirtualPathProvider.cs
- ActivationServices.cs
- Root.cs
- DiscoveryInnerClientAdhocCD1.cs
- ExtensionDataObject.cs
- CompilationRelaxations.cs
- XPathSingletonIterator.cs
- ResourceReferenceKeyNotFoundException.cs
- FixedSOMTableCell.cs
- TimeZoneInfo.cs
- CreateUserWizard.cs
- PersonalizableTypeEntry.cs
- BinarySecretKeyIdentifierClause.cs
- SharedPerformanceCounter.cs
- DataBindingList.cs
- XmlSchemaProviderAttribute.cs
- AmbientProperties.cs
- Gdiplus.cs
- LicenseException.cs
- TemplateInstanceAttribute.cs
- Trustee.cs
- PathFigure.cs
- DayRenderEvent.cs
- InheritanceAttribute.cs
- TextEditorLists.cs
- Math.cs
- InvalidDataException.cs
- HttpRequestBase.cs
- Select.cs
- MaskPropertyEditor.cs
- CTreeGenerator.cs
- CmsUtils.cs
- DoWorkEventArgs.cs
- MachineKey.cs
- Timer.cs
- XhtmlConformanceSection.cs
- BamlLocalizer.cs
- Adorner.cs
- SHA512.cs
- DictionaryGlobals.cs
- Completion.cs
- HMACSHA512.cs
- OlePropertyStructs.cs
- ListView.cs
- PersonalizablePropertyEntry.cs
- SqlNode.cs
- ExpressionDumper.cs
- XhtmlBasicLabelAdapter.cs
- DateTimeConverter.cs
- FileAuthorizationModule.cs
- InputElement.cs
- NonPrimarySelectionGlyph.cs
- BadImageFormatException.cs
- WebConfigurationHost.cs
- XmlSchemaObjectCollection.cs
- UpDownBaseDesigner.cs
- PasswordDeriveBytes.cs
- BitmapCodecInfo.cs
- Transform.cs
- VisualStyleElement.cs
- ToolboxBitmapAttribute.cs
- Page.cs
- RightsManagementEncryptedStream.cs
- XmlAttributes.cs
- ImpersonationContext.cs
- PropertyGeneratedEventArgs.cs
- QueryResult.cs
- SafeSecurityHandles.cs
- BrowserDefinition.cs
- figurelength.cs
- Polyline.cs
- GlyphRun.cs
- hresults.cs
- SelectionChangedEventArgs.cs
- SqlParameterCollection.cs
- ICollection.cs
- JumpTask.cs
- DesignerActionTextItem.cs
- TypeInfo.cs
- PaintValueEventArgs.cs
- ForEachAction.cs
- InvalidFilterCriteriaException.cs
- CodeRemoveEventStatement.cs
- XmlSequenceWriter.cs
- CreateUserErrorEventArgs.cs
- Statements.cs
- WebHttpDispatchOperationSelector.cs
- BaseDataBoundControlDesigner.cs
- EdgeModeValidation.cs
- BinHexDecoder.cs