Asp.Net中HttpMoudule初始化程序
为了忘记:
1,System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr, Int32);:void
//从IIS来的请求
2,System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest) : Void
//在这一步创建一个HttpContext对象
3, System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext) : IHttpHandler
//这一步创建一个HttpApplication对象,
//HttpApplication对象实现IHttpHandler接口,返回的是IHttpHandler接口
//并在这里调用IHttpHandler接口的ProcessRequest(HttpContext context)配置HttpApplication对象
4,System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext) : HttpApplication
//HttpApplication工厂对象创建一个HttpApplication对象返回给调用者
5,System.Web.HttpApplication.InitInternal(HttpContext, HttpApplicationState, MethodInfo[]) : void
//对HttpApplication对象自己进行一些初始化的工作,如填充_context对象等
6,System.Web.HttpApplication.InitModules() : Void
//在HttpApplication对象初始化时一并初始化模块
7,System.Web.HttpApplication.InitModulesCommon() : oid
//这里有个循环,遍历配置文件中的注册模块
8,System.Web.IHttpModule.void Init(HttpApplication context);
//单个模块的初始化方法
大致流程如下:
客户端请求由asp.net接管以后,创建一个HttpContext对象,
同时创建的还有HttpContext对象的属性:Request和Response等
接着创建HttpApplication对象,并将上面创建的HttpContext对象作为参数传入
在HttpContext和HtpContext对象中保存能互相引用
初始化注册的模块(以参数形式传入HttpContext对象),
各模块这时候开始工作,如果有窗体身份验证模块FormsAuthenticationModule,
就对请求来的信息读取Cookie,如果没有,设置一个缺省用户Default
如果有,获取票证并设置Authenticate属性为true(表示通过验证)
同时将新的Cookie写入HttpResponse
相关文档:
在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......
asp.net错误处理方法 大部分都用 try catch
我们也可以在页面定义 protected void Page_Error(object sender, EventArgs e)方法处理错误信息
{
//先获取当前发生异常
Exception ex = Server.GetLastError().GetBaseException();
if (ex is ArgumentOu ......
由于mvc架构和传统的.net程序有所不同,所以进行异步提交的时候,就和过去的方法参数有所差别,下面我就介绍下两种常用的提交方式在MVC下如何调用。
1.直接提交数据到Action
假设一个发布BLOG的页面的回复功能,有一个ID为'ReInfo'的div负责显示回复的消息。
点击提交按钮后,qj的post方法将数据传递到/Blog/BlogR ......
以下引用自 MSDN Magazine:
不论好坏,UpdatePanel 控件都是 ASP.NET AJAX 社区所喜爱的。我说“好”,是因为 UpdatePanel 使部分页面呈现变得相当简单,而说“坏”,是因为它的简便和易用性是以效率和令人啼笑皆非的带宽为代价的。
UpdatePanel 可以为一般的网页带来 AJAX 神奇的好处,但是它不能提 ......
protected void btncancel_Click(object sender, EventArgs e)
{
Page.RegisterStartupScript("", "<mce:script type="text/javascript"><!--
window.close()
// --></mce:script>");
}
......