Custom Configuration Sections : web.config « Development « ASP.Net






Custom Configuration Sections

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Custom Configuration Sections</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <h1>Custom Configuration Sections</h1>
       <asp:Label ID="lblTime" runat="server" />
       <br />
       <asp:Label ID="lblTest" runat="server" />
       <br />
       <asp:Label ID="lblContent" runat="server" />
       <br />
       
       <asp:GridView ID="gv" runat="server" />
    
    </div>
    </form>
</body>
</html>

File: Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
       lblTime.Text = "Posted at " + DateTime.Now.ToLongTimeString();
       if (!IsPostBack)
       {
          string strTest;
          strTest = ((Hashtable)ConfigurationManager.GetSection("altDB"))["Test"].ToString();
          lblTest.Text = strTest;

          lblContent.Text = ((Hashtable)ConfigurationManager.GetSection("altDB"))["Content"].ToString();

          CreateGrid();
       }
    }

   private void CreateGrid()
   {
      DataSet dsGrid = new DataSet();
      dsGrid = (DataSet)ConfigurationManager.GetSection("system.web/DataSetSectionHandler");
      gv.DataSource = dsGrid.Tables[0];
      gv.DataBind();
   }
}

File: SectionHandlers.cs

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public class DataSetSectionHandler : IConfigurationSectionHandler
{
   public Object Create(Object parent,Object configContext,System.Xml.XmlNode section)
   {
      string strSql;
      strSql = section.Attributes.Item(0).Value;

      string connectionString = "server=Local; uid=sa; pwd=password; database=Northwind";

      SqlDataAdapter da = new SqlDataAdapter(strSql,connectionString);

      DataSet dsData = new DataSet();

      da.Fill(dsData, "Customers");

      return dsData;
   }
}

File: Web.Config

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <configSections>
    <section name="altDB" type="System.Configuration.DictionarySectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <sectionGroup name="system.web">
      <section name="DataSetSectionHandler" type="DataSetSectionHandler,SectionHandlers" />
    </sectionGroup>
  </configSections>

  <altDB>
    <add key="Test" value=" SERVER=MyServer;DATABASE=Test;UID=myID;PWD=secret;" />
    <add key="Content" value=" SERVER=MyServer;DATABASE=Content;UID=myID;PWD=secret;" />
  </altDB>

  <appSettings/>
  <connectionStrings/>
  
  <system.web>
    <compilation debug="true"/>
    <authentication mode="Windows" />
    <DataSetSectionHandler  str="Select CompanyName,ContactName,City from Customers"  />
  </system.web>
</configuration>

 








Related examples in the same category

1.Set culture in the web.config
2.Define database connection string in web.config
3.This section sets the globalization settings of the application
4.Get variables from global.asax
5.Remove key from web.config
6.web.config: default error page
7.web.config: appSettings
8.Indicate the error page in web.config
9.web.config: redirect to a url for a status code
10.web.config: custom error with default redirect and mode
11.web.config: configure application-specific configuration settings
12.web.config: customErrors
13.web.config: session State
14.web.config: Forms authentication
15.web.config: authorization
16.web.config: trace mode
17.web.config: authentication mode
18.Application-Level Trace Logging?
19.Dynamic Debug Compilation
20.Custom Error Messages
21.Adding culture detection to the Web.config file
22.Session State configuration
23.HTTP Module configuration
24.Storing a connection string
25.Configuring Session State with a connection string
26.specify custom provider assembly that inherits the SessionStateStoreProviderBase class
27.The compilation section
28.authentication section
29.Forms Authentication
30. configuration section settings
31.URL Authorization in the web.config file with and attributes
32.asterisk (*) represents all users and the question mark (?) represents anonymous users
33.grant or deny access to the users or groups in regard to the HTTP methods
34.File Authorization
35.Set the security for a single file
36.Locking-Down Configuration Settings
37.ASP.NET Page Configuration
38.Configuring ASP.NET Runtime Settings
39.Default format for the section
40.Custom configuration setting
41.Set httpRuntime maxRequestLength='2048'
42.compilation debug="true"
43.ConfigurationManager.AppSettings
44.Create custom section in Web.Config