I:Web Pages
_appstart
功能:用於進行App的初始化時
功能與Global
@{
this
var error = this
if (error == null)
{
this
error = this
@*
在這裡很遺憾地告訴大家
因為編譯無法
所以無法智能感知!
*@
}
// 在這裡可以引用 App
//
@{
@* ~/Views/_ViewStart
Response
Layout =
}
成員來自:
at System
at System
_viewstart
功能:或許你已經聯想到了…
執行順序位於_appstart
成員來自:
at System
綜上所述得知MVC
(不排除本人未能發現的其他文件類型
在Web Pages
(這圖在Razor語法基礎時就帖過了
關於*
絕大部分頁生成的程序集格式
頁面編譯都是以單獨頁面編譯為單個帶隨機字符串的程序集
II:關於多目錄下以
_appstart
如果你在子目錄下放置_appstart
當訪問~/somepage
會先執行~/_pageStart
然後在執行 ~/somepage
當在復雜的子目錄環境下時:
~/_pageStart
~/sub/_pageStart
~/sub/somepage
III:Web Pages
首先Web Pages利用特性往本身程序集上與ASP
// SourceFile: AssemblyInfo
//AttributeClass: System
//特性介紹:為ASP
//參數
//Line:
啟動方法是Start
public static void Start() {
// Even though ASP
// another PreAppStart to ensure that things get initialized in the right order
// order so we have to guard against multiple calls
// All Start calls are made on same thread
if (_startWasCalled) {
return;
}
_startWasCalled = true; //設置Start方法已被調用
WebPageHttpHandler
WebPageHttpHandler
// Turn off the string resource behavior which would not work in our simple base page
PageParser
DynamicModuleUtility
//ASP
當WebApp開始運行時
Application_Start
Application_BeginRequest
Application_AuthenticateRequest
Session_Start
當WebApp終止運行時
Session_End
Application_End
當一個Request入站時
Application_BeginRequest
Application_AuthenticateRequest 過後到達*
當在*
Application_BeginRequest
Application_AuthenticateRequest
Application_Error(在throw處轉至
例: @{ Throw new Exception();//僅做示例
//下文不會被執行
}
原文鏈接
From:http://tw.wingwit.com/Article/program/net/201311/11621.html