菜鸟笔记-9月12日

怎么让网站404跳到自己定义的404页:

web.config配置文件中配置
     <customErrors mode="Off"  defaultRedirect="http://news..cn/page/p404.aspx">
       <error statusCode="500" redirect="http://news..cn/page/pdown.aspx" />
       <error statusCode="404" redirect="http://news..cn/page/p404.aspx" />
     </customErrors>

关于asax文件

全局配置文件.当一个应用程序启动时,首先就先执行这个类型文件,没有的话那就算,,在这里主要是配置一些http事件啊,或者user等等,,反正是全局的,这个里面的东西一加载,那就会用到所有的页面上而不是象在其他的程序里写的只有一个范围内当这个应用程序关了后,或者停了话,他会自动关闭了

是一个可选的文件,该文件包含响应 ASP.NET 或 HTTP 模块引发的应用程序级别事件的代码。Global.asax是可以设置站点启动和关闭的设置   如application_start  session_start等

此文件相当于java里面的过滤器。

它提供全局可用代码,这些代码包括应用程序的事件处理以及会话事件、方法和静态变量。有时候该文件也被称为应用程序文件。

下面我将举两个我常用的例子,如果你们更好的使用要记得告诉我!

使用方法一:定期扫描数据库执行特定任务,这个是用必须要用到Timer;

下面粘贴Global.asax文件中的所有代码,很简单一看就知道哦。

<%@ Application Language="C#" %>

<script runat="server">

void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
int Interval = 10000;//默认时间间隔为2分钟(120000毫秒)

System.Timers.Timer mytimer = new System.Timers.Timer();
mytimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimeEvent);
mytimer.Interval = Interval;
try
{
mytimer.Interval = int.Parse(ConfigurationManager.AppSettings["Interval"].ToString());
}
catch
{

}
mytimer.Enabled = true;
}
//定时调用的方法
void OnTimeEvent(object source, EventArgs e)
{
try
{
Common.DeliveGoods();
}
catch
{

}
}

void Application_End(object sender, EventArgs e)
{
//在应用程序关闭时运行的代码

}

void Application_Error(object sender, EventArgs e)
{
//在出现未处理的错误时运行的代码

}

void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码

}

void Session_End(object sender, EventArgs e)
{
//在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式
//设置为 StateServer 或 SQLServer,则不会引发该事件。

}

</script>
使用方法二:异常错误处理,不过有点不好的是当图片找不到时也算异常。

下面贴代码:

<%@ Application Language="C#" %>

<script runat="server">

void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码

}

void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码

}

void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
//Server.Transfer("~/Errors/Error.aspx ");
}

void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码

}

void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。

}

</script>

又如:

<%@ Application Language="C#" %>

<script runat="server">
    void Application_Start(object sender, EventArgs e)
{     //开始关联动作

}

SiteMapNode SiteMap_SiteMapResolve(object sender, SiteMapResolveEventArgs e)
    {
        SiteMapNode current = SiteMap.CurrentNode.Clone(true);
   
        return current;
    }


void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{

// 错误转向

}
void Session_Start(object sender, EventArgs e)
{

}
void Session_End(object sender, EventArgs e)
{


}
protected void Application_AuthorizeRequest(object sender, System.EventArgs e)
    {
        HttpApplication App = (HttpApplication)sender;
        HttpContext Ctx = App.Context;
        string path = Ctx.Request.Url.ToString();     // 获得转发url
       
        if(path.IndexOf(".aspx")>-1){
          int end = path.LastIndexOf("/");
          string urlname = path.Substring(end+1,path.Length-end-1);
           // Request.QueryString();
          if ("login.aspx".Equals(urlname))
          {   }
          else {

           try {
              HttpCookie names = Request.Cookies.Get(0);
              string df = names.Value;
              string sdf = names.Name;
              string usr = Request.Cookies.Get(1).Name;
              string sdfd = Request.Cookies.Get(2).Name;
          }
          catch {
              Response.Redirect("../login.aspx");
          }
       }
          }
        }
    }
</script>

使用情况参考:http://www.cnblogs.com/liyouqiang/archive/2010/07/08/1773338.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值