????????????????????????????????????????????Щ???л?????????????????ASP.NET????????????????????г?????????????

??????????t??????????????Global.asax????г???????????????Щ??????????????????

????????????

??????????????????????У?AppInitializer???????????????????????

    public static class AppInitializer 
    { 
        public static ConnectionStringSettings MyNorthwindConnectionSetting { get; private set; } 
        public static void Init() 
        { 
            // ??????????????
            LoadConnectionString(); 
            // ????SQLSERVER????????????
            SetSqlDependency(); 
            // ????????????????
            OthersInit(); 
        } 
        static void LoadConnectionString() 
        { 
            ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings["MyNorthwind"]; 
            if( setting == null ) 
                throw new ConfigurationException("???????MyNorthwind???????????"); 
            if( string.IsNullOrEmpty(setting.ConnectionString) ) 
                throw new ConfigurationException("????MyNorthwind?????????????????"); 
            if( string.IsNullOrEmpty(setting.ProviderName) ) 
                throw new ConfigurationException("????MyNorthwind????????????ProviderName ??"); 
            // ?????????????????????????????á?
            MyNorthwindConnectionSetting = setting; 
        } 
        static void SetSqlDependency() 
        { 
            // ?ж?SQLSERVER?汾???? 2005????汾??
            // ?????Service Broker????????г????
            SqlDependency.Start(MyNorthwindConnectionSetting.ConnectionString); 
        } 
        static void OthersInit() 
        { 
            // ????????????????
            // ???磺
            // 1. ????????????????
            // 2. ????????????????
            // 3. ...................
        } 
    }

??????δ??????????????????????????????????????????????????????????????????????

??????????????????棬Default.aspx

    <body>
        <form id="form1" runat="server">
        <div>
            <h1>User Login</h1>
        </div>
            <p style="line-height: 150%;">
                UserName: <asp:TextBox ID="txtUserName" runat="server" Width="200px" Text="Fish Li"></asp:TextBox><br />
                Password: <asp:TextBox ID="txtPassword" runat="server" Width="200px" TextMode="Password"></asp:TextBox><br />
                <asp:Button ID="btnLogin" runat="server" Text="???" OnClick="btnLogin_Click" />
            </p>
        </form>
    </body>

?????????????????棬??????????

    protected void btnLogin_Click(object sender?? EventArgs e) 
    { 
        bool ok = false; 
        using( SqlConnection connection 
            = new SqlConnection(AppInitializer.MyNorthwindConnectionSetting.ConnectionString) ) { 
            connection.Open(); 
            // ????????????????
            ok = true; 
        } 
        if( ok ) 
            Response.Redirect("Default2.aspx"); 
    }