首页 > 编程 > .NET > 正文

如何在ASP.NET应用程序中初始化_ASP教程

2024-07-10 12:53:17
字体:
来源:转载
供稿:网友

推荐:程序员看淘宝,如何用Session保存用户状态
网上购物已经成为现在生活不可缺少的一部分。我们上淘宝只是为了消费,今天换一个角度,用程序员的眼光看看淘宝。 如上图: 情况一:当打开一些和账户有关的网页,检测用户没有登录,系统自动会跳转到登录界面。 情况二:当检测到已经有用户登录,页面会自动跳转到目的

每个程序都需要初始化的过程,用来读取配置或者设置一些运行环境(变量),对于ASP.NET程序来说,又该在哪里执行初始化的任务呢?

我想应该绝大多数人都知道在Global.asax中执行初始化的过程,然而有些细节是我们需要关注的。

本文用例

在这篇博客的示例代码中,AppInitializer包含了网站的初始化的实现代码:

  1. public static class AppInitializer  
  2. {  
  3.     public static ConnectionStringSettings MyNorthwindConnectionSetting { get; private set; }  
  4.  
  5.     public static void Init()  
  6.     {  
  7.         // 读取连接字符串。  
  8.         LoadConnectionString();  
  9.  
  10.         // 设置SQLSERVER缓存依赖通知。  
  11.         SetSqlDependency();  
  12.  
  13.         // 其它的初始化操作。  
  14.         OthersInit();  
  15.     }  
  16.  
  17.     static void LoadConnectionString()  
  18.     {  
  19.         ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings["MyNorthwind"];  
  20.         if( setting == null )  
  21.             throw new ConfigurationException("没有配置MyNorthwind连接字符串。");  
  22.  
  23.         if( string.IsNullOrEmpty(setting.ConnectionString) )  
  24.             throw new ConfigurationException("没有为MyNorthwind连接字符串指定内容。");  
  25.  
  26.         if( string.IsNullOrEmpty(setting.ProviderName) )  
  27.             throw new ConfigurationException("没有为MyNorthwind连接字符串指定ProviderName 。");  
  28.  
  29.         // 保存读取到的连接字符串,供程序使用。  
  30.         MyNorthwindConnectionSetting = setting;  
  31.     }  
  32.  
  33.     static void SetSqlDependency()  
  34.     {  
  35.         // 判断SQLSERVER版本是否为 2005以上版本,  
  36.         // 是否开启Service Broker的检查代码就不列出了。  
  37.  
  38.         SqlDependency.Start(MyNorthwindConnectionSetting.ConnectionString);  
  39.     }  
  40.  
  41.     static void OthersInit()  
  42.     {  
  43.         // 其它的初始化操作。  
  44.  
  45.         // 例如:  
  46.         // 1. 加载必要的缓存数据。  
  47.         // 2. 检查上传目录是不存在。  
  48.         // 3. ...................  
  49.     }  

这段代码的意图很清楚,一定要确保正确的配置了数据库连接字符串,否则以异常的形式报告出来。

示例程序还有一个页面,Default.aspx

  1. <body> 
  2.     <form id="form1" runat="server"> 
  3.     <div> 
  4.         <h1>User Login</h1> 
  5.     </div> 
  6.  
  7.         <p style="line-height: 150%;"> 
  8.             UserName: <asp:TextBox ID="txtUserName" runat="server" Width="200px" Text="Fish Li"></asp:TextBox><br /> 
  9.             Password: <asp:TextBox ID="txtPassword" runat="server" Width="200px" TextMode="Password"></asp:TextBox><br /> 
  10.             <asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" /> 
  11.         </p> 
  12.     </form> 
  13. </body> 

分享:ASP.NET七大身份验证方式及解决方案
在B/S系统开发中,经常需要使用身份验证。因为web应用程序非常特殊,和传统的C/S程序不同,默认情况下(不采用任何身份验证方式和权限控制手段),当你的程序在互联网/局域网上公开后,任何人都能够访问你的web应用程序的资源,这样很难保障应用程序安全性。通俗点来说:

共6页上一页123456下一页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表