You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
70
mcs/class/referencesource/System.Web/ModulesEntry.cs
Normal file
70
mcs/class/referencesource/System.Web/ModulesEntry.cs
Normal file
@ -0,0 +1,70 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="ModulesEntry.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
* Config related classes for HttpApplication
|
||||
*
|
||||
*/
|
||||
|
||||
namespace System.Web.Configuration.Common {
|
||||
|
||||
using System.Runtime.Serialization.Formatters;
|
||||
using System.Threading;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.ComponentModel;
|
||||
using System.Collections;
|
||||
using System.Reflection;
|
||||
using System.Globalization;
|
||||
using System.Configuration;
|
||||
using System.Web;
|
||||
using System.Web.SessionState;
|
||||
using System.Web.Security;
|
||||
using System.Web.Util;
|
||||
using System.Web.Compilation;
|
||||
using System.Security;
|
||||
using System.Security.Permissions;
|
||||
|
||||
/*
|
||||
* Single Entry of request to class
|
||||
*/
|
||||
internal class ModulesEntry {
|
||||
private String _name;
|
||||
private Type _type;
|
||||
|
||||
internal ModulesEntry(String name, String typeName, string propertyName, ConfigurationElement configElement) {
|
||||
_name = (name != null) ? name : String.Empty;
|
||||
|
||||
// Don't check the APTCA bit for modules (VSWhidbey 467768, 550122)
|
||||
_type = SecureGetType(typeName, propertyName, configElement);
|
||||
if (!typeof(IHttpModule).IsAssignableFrom(_type)) {
|
||||
if (configElement == null) {
|
||||
throw new ConfigurationErrorsException(SR.GetString(SR.Type_not_module, typeName));
|
||||
}
|
||||
else {
|
||||
throw new ConfigurationErrorsException(SR.GetString(SR.Type_not_module, typeName),
|
||||
configElement.ElementInformation.Properties["type"].Source, configElement.ElementInformation.Properties["type"].LineNumber);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static bool IsTypeMatch(Type type, String typeName) {
|
||||
return(type.Name.Equals(typeName) || type.FullName.Equals(typeName));
|
||||
}
|
||||
|
||||
internal String ModuleName {
|
||||
get { return _name; }
|
||||
}
|
||||
|
||||
internal /*public*/ IHttpModule Create() {
|
||||
return (IHttpModule)HttpRuntime.CreateNonPublicInstance(_type);
|
||||
}
|
||||
|
||||
[PermissionSet(SecurityAction.Assert, Unrestricted=true)]
|
||||
private Type SecureGetType(string typeName, string propertyName, ConfigurationElement configElement) {
|
||||
return ConfigUtil.GetType(typeName, propertyName, configElement, false /*checkAptcaBit*/);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user