人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

正確運用ASP中的global.asa

正確運用ASP中的global.asa

更新時間:2022-07-06 文章作者:未知 信息來源:網絡 閱讀次數:

正確使用global.asa是ASP開發者的一個共同問題。最主要的是要知道什么時候該用Virtual Application,什么時候該用Virtual directory,并且知道他們的不同。

  Virtual Directories(虛擬目錄)
  簡而言之,virtual directories是虛擬出來的,不一定跟web root在同一個的目錄上,可以是其他的。但是你可以像使用web root上的其他目錄一樣使用它。當運行global.asa以后,ASP就把所有的虛擬目錄看成是應用程序根目錄上的子目錄。
  值得注意,如果你的目錄已經是website root上的一個物理目錄,那就沒有必要再去為那個目錄做虛擬目錄了。當然,你有也可以這樣做。如果你的目錄的路徑實在是太長,長到你無法忍受,想它短一點。你可以用建虛擬目錄的方法。使它短些,容易記住。例如:原來的目錄http://mysite.com/directory1/directory 2/file.asp,你可以為它建一個虛擬的目錄,http://mysite.com/directory2/file.asp。這樣就方便多了了。
  
  Virtual Applications(虛擬應用程序)
  Virtual Applications 是一個獨立于website的web applications,而它跟Virtual Directories一樣,不一定是web root上的一個目錄。可以是從其他的目錄虛擬出來的。ASP不允許應用程序共享他們的application和session變量,換句話說,就是應用程序A不能訪問應用程序B(包括web root,因為web root也是看作一個應用程序的根。)的application和session變量,他們是私有的。反之亦然。當你確信這個應用程序不需要與整個website、website上其他子目錄上的ASP腳本共享application和session變量,或者你想在同樣的內存空間里隔離一個進程來運行應用程序時。你使用Virtual Applications是正確的。
  要注意的一點是:在IIS 4.0里面的“新虛擬目錄向導” 所建立的virtual directory(虛擬目錄)缺省就是一個virtual application(虛擬應用程序)。要把它變回virtual directory的話,你可以在目錄的“屬性”里,選擇“目錄”標簽,單擊“卸載”。

  小心使用多個 Global.asa
  在一個website里面使用多個Global.asa,我們必須要注意,因為那是很容易導致變量超出范圍而丟失的。通常我們必須限制在整個website上的Global.asa的樹木,在每一個應用程序的的根目錄里面放一個。這是保持session和application變量比較好的方法,不至于它們會丟失。通過在各個目錄上放置global.asa文件,我測試的asp文件,可以幫助我們理解它們的關系。

  例子,下面是一個website的設置。在這個website下面有兩個目錄。一個Virtual Application(虛擬應用程序)叫admin,一個Virtual Directory(虛擬目錄)叫images。在每一個目錄下有2個文件:global.asa和default.asp。每一個目錄里的default.asp都是一樣的,global.asa則根據不同的目錄有所改變。
  這個是default.asp的內容:
<%
Response.Write "Session Application_Directory = <b>" &
Session("application_directory") & "</b><br>"
Response.Write "Session Virtual_Directory = <b>" &
Session("virtual_directory") & "</b><br>"
Response.Write "Session Directory = <b>" & Session("directory") & "</b><br>"
%>

website root上global.asa的內容:
SUB Session_OnStart
Session("virtual_directory") = "Executed"
Session("directory") = "Executed"
END SUB

當你用瀏覽器瀏覽default.asp時,得到的結果是:
Session Application_Directory =
Session Virtual_Directory = Executed
Session Directory = Executed

  Virtual directory(虛擬目錄) images 上global.asa的內容是(把websiteroot上的global.asa稍微做修改):

SUB Session_OnStart
Session("virtual_directory") = "Virtual Directory"
Session("directory") = "Virtual Directory"
END SUB

  用瀏覽器瀏覽default.asp(images上的default.asp)時,得到的結果是:
Session Application_Directory =
Session Virtual_Directory = Executed
Session Directory = Executed

  雖然在這個目錄上的global.asa文件里,我們為session變量賦了新的值。但是顯示的仍然是website root上global.asa所設的值。

Virtual Application(虛擬應用程序) Admin 上 global.asa的內容:

SUB Session_OnStart
Session("application_directory") = "Executed"
END SUB

  用瀏覽器瀏覽default.asp(admin上的default.asp)時,得到的結果是:
Session Application_Directory = Executed
Session Virtual_Directory =
Session Directory =

  正如你所看到的,Session("virtual_directory")和Session("directory") 的值不能從root web 那里“帶”過來。

  Global.asa 參考
  Global.asa 文件是一個可選文件,用戶可以在該文件中指定事件腳本,并聲明具有會話和應用程序作用域的對象。該文件的內容給用戶顯示的,而是用來存儲事件信息和由應用程序全局使用的對象。該文件的名稱必須是 Global.asa 且必須存放在應用程序的根目錄中。每個應用程序只能有一個 Global.asa 文件。
  Global.asa 文件只能包含如下內容:
  用程序事件(Application_OnStart、Application_OnEnd)
  會話事件(Session_OnStart、Session_OnEnd)
  <OBJECT> 聲明
  TypeLibrary 聲明
  如果包含的腳本沒有用 <SCRIPT> 標記封裝,或定義的對象沒有會話或應用程序作用域,則服務器將返回錯誤。服務器會忽略已標記的但未被應用程序或會話事件使用的腳本以及文件中的 HTML 語句。
  可以用任何支持腳本的語言編寫 Global.asa 文件中包含的腳本。如果多個事件使用同一種腳本語言,就可以將它們組織在一組 <SCRIPT> 標記中。
  當用戶保存對 Global.asa 文件所做的更改時,在重新編譯 Global.asa 文件之前,服務器會結束處理當前應用程序的所有請求。在此期間,服務器拒絕其他請求并返回一個錯誤消息,說明正在重啟動應用程序,不能處理請求。
  當用戶當前的所有請求處理完之后,服務器對每個會話調用Session_OnEnd 事件,刪除所有活動會話,并調用 Application_OnEnd 事件關閉應用程序,然后編譯 Global.asa 文件。接下來,用戶的請求將啟動應用程序并創建新的會話,觸發 Application_OnStart 和 Session_OnStart 事件。
  但是,保存 Global.asa 文件中所包含的文件的更改并不能使服務器重新編譯 Global.asa。為了讓服務器識別包含文件的改動,必須再保存一下Global.asa 文件。
  在 Global.asa 文件中聲明的過程只能從一個或多個與Application_OnStart、Application_OnEnd、Session_OnStart 和Session_OnEnd 事件相關的腳本中調用。在基于 ASP 的應用程序中的 ASP 頁中,它們是不可用的

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 余干县| 达尔| 常宁市| 郁南县| 余干县| 巫溪县| 和硕县| 夏津县| 胶州市| 长兴县| 锡林浩特市| 临湘市| 双流县| 贡觉县| 沙坪坝区| 滕州市| 彭山县| 江山市| 军事| 遵义县| 耒阳市| 新兴县| 师宗县| 饶河县| 韶关市| 高碑店市| 柘荣县| 彰武县| 九江县| 汤原县| 柘城县| 内江市| 焉耆| 新丰县| 蓬莱市| 张家界市| 南部县| 民县| 德清县| 长武县| 屏山县|