This topic has not yet been rated - Rate this topic

HttpModuleCollection Class

Provides a way to index and retrieve a collection of IHttpModule objects.

Namespace:  System.Web
Assembly:  System.Web (in System.Web.dll)
public sealed class HttpModuleCollection : NameObjectCollectionBase

The HttpModuleCollection type exposes the following members.

  Name Description
Public property AllKeys Gets a string array containing all the keys (module names) in the HttpModuleCollection.
Public property Count Gets the number of key/value pairs contained in the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected property IsReadOnly Gets or sets a value indicating whether the NameObjectCollectionBase instance is read-only. (Inherited from NameObjectCollectionBase.)
Public property Item[Int32] Gets the IHttpModule object with the specified numerical index from the HttpModuleCollection.
Public property Item[String] Gets the IHttpModule object with the specified name from the HttpModuleCollection.
Public property Keys Gets a NameObjectCollectionBase.KeysCollection instance that contains all the keys in the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Top
  Name Description
Protected method BaseAdd Adds an entry with the specified key and value into the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseClear Removes all entries from the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseGet(Int32) Gets the value of the entry at the specified index of the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseGet(String) Gets the value of the first entry with the specified key from the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseGetAllKeys Returns a String array that contains all the keys in the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseGetAllValues() Returns an Object array that contains all the values in the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseGetAllValues(Type) Returns an array of the specified type that contains all the values in the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseGetKey Gets the key of the entry at the specified index of the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseHasKeys Gets a value indicating whether the NameObjectCollectionBase instance contains entries whose keys are not null. (Inherited from NameObjectCollectionBase.)
Protected method BaseRemove Removes the entries with the specified key from the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseRemoveAt Removes the entry at the specified index of the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseSet(Int32, Object) Sets the value of the entry at the specified index of the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Protected method BaseSet(String, Object) Sets the value of the first entry with the specified key in the NameObjectCollectionBase instance, if found; otherwise, adds an entry with the specified key and value into the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Public method CopyTo Copies members of the module collection to an Array, beginning at the specified index of the array.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Get(Int32) Returns the IHttpModule object with the specified index from the HttpModuleCollection.
Public method Get(String) Returns the IHttpModule object with the specified name from the HttpModuleCollection.
Public method GetEnumerator Returns an enumerator that iterates through the NameObjectCollectionBase. (Inherited from NameObjectCollectionBase.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetKey Returns the key (name) of the IHttpModule object at the specified numerical index.
Public method GetObjectData Implements the ISerializable interface and returns the data needed to serialize the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method OnDeserialization Implements the ISerializable interface and raises the deserialization event when the deserialization is complete. (Inherited from NameObjectCollectionBase.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Explicit interface implemetation Private method ICollection.CopyTo Copies the entire NameObjectCollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array. (Inherited from NameObjectCollectionBase.)
Explicit interface implemetation Private property ICollection.IsSynchronized Gets a value indicating whether access to the NameObjectCollectionBase object is synchronized (thread safe). (Inherited from NameObjectCollectionBase.)
Explicit interface implemetation Private property ICollection.SyncRoot Gets an object that can be used to synchronize access to the NameObjectCollectionBase object. (Inherited from NameObjectCollectionBase.)
Top

The following code example demonstrates the AllKeys property and the GetKey and CopyTo methods of the HttpModuleCollection class. The example gets the application object for the current request from the current HttpContext object. It then extracts the HttpModuleCollection object from the application instance and displays the names of the IHttpModule objects.


<%@ Page language="C#" %>
<%@ Import Namespace = "System.Data"  %>
<script runat="server">
// System.Web.HttpModuleCollection.AllKeys;GetKey;CopyTo

void Page_Load(object sender, System.EventArgs e)
{
    // Get the HttpContext object for the current request.
    HttpContext myHttpContext = HttpContext.Current;
    // Get the application object for the current request.
    HttpApplication myHttpApplication = myHttpContext.ApplicationInstance;
    // Get the collection of all HTTPModule objects for the current application.
    HttpModuleCollection myHttpModuleCollection = myHttpApplication.Modules;

    // Get the name of the HttpModule object at index 1.
    string httpModuleName = myHttpModuleCollection.GetKey(1);
    Response.Write("The name of the HttpModule object at index 1" + " is " +"'"+  httpModuleName+"'." + "<br><br>"); 

    string[] allModules = myHttpModuleCollection.AllKeys;

    // Display the names of all HttpModule objects.
    Response.Write("<b>The HttpModule objects contained in the HttpModuleCollection are:</b><br>");

    for(int i=0; i < allModules.Length; i++)
       Response.Write("Module" + i + "  : " + allModules[i] + "<br>");

    // Copy the HttpModule objects in the collection into an array.
    System.Array httpModuleArray = Array.CreateInstance(typeof(object),myHttpModuleCollection.AllKeys.Length);
    myHttpModuleCollection.CopyTo(httpModuleArray,0);
    Response.Write("<br><br><b>Successfully copied the HttpModule objects in the HttpModuleCollection to an array."+
       "<br>Displaying the HttpModule objects in array:</b><br>");

    for(int i=0; i < httpModuleArray.Length; i++)
       Response.Write("Module" + i + ": " + httpModuleArray.GetValue(i) + "<br>");

}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>HttpModuleCollection Example</title>
</head>
<body>
</body>
</html>



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ