ASP.NET 移動 Web 窗體和 ASP.NET 兼容性

發表于:2007-06-30來源:作者:點擊數: 標簽:
當編寫 ASP.NET 移動 Web 應用程序時,您幾乎可以使用 ASP.NET 的所有功能。但是,首先要考慮 兼容性 問題。 錯誤處理和報告 如果 ASP.NET 應用程序在處理請求時遇到未處理的異?;蚱渌e誤,就會生成錯誤頁。異??赡軙谡埱筇幚磉^程中的任何時候發生。例

當編寫 ASP.NET 移動 Web 應用程序時,您幾乎可以使用 ASP.NET 的所有功能。但是,首先要考慮兼容性問題。

錯誤處理和報告
如果 ASP.NET 應用程序在處理請求時遇到未處理的異?;蚱渌e誤,就會生成錯誤頁。異??赡軙谡埱筇幚磉^程中的任何時候發生。例如,它們可能會在讀取配置文件 (Web.config),編譯頁或運行頁時發生。

您可以配置應用程序,使其生成默認或自定義的錯誤頁。如果將應用程序配置為生成默認錯誤頁,ASP.NET 將設置響應中的錯誤代碼,并呈現詳細描述錯誤的頁。但是,如果將應用程序配置為生成自定義錯誤頁,每個錯誤請求將被重定向到您為其提供的自定義頁。

許多移動設備都無法呈現錯誤頁的詳細內容。這些設備通常只顯示特定于設備的錯誤信息或錯誤代碼。針對這種情況,ASP.NET 移動 Web 窗體頁會嘗試格式化錯誤頁,使其能夠在設備上呈現。但是,這一特定于設備的呈現僅限于在運行頁時發生的異常。因此,如果您使用的是默認錯誤頁,則應該首先從桌面瀏覽器中試用移動 Web 窗體頁,以檢測潛在的配置或編譯錯誤。

如果您計劃在 ASP.NET 移動 Web 應用程序中使用自定義錯誤頁,ASP.NET 可以為不同的移動設備相應地格式化錯誤頁(如果您使用移動控件編寫了自定義錯誤頁)。

有關 ASP.NET 中的錯誤頁的更多信息,請參見 ErrorPage 屬性文檔。有關錯誤管理的更多信息,請參見管理適應性錯誤報告。

跟蹤
ASP.NET 提供了一種叫做“跟蹤”的易于使用的功能,可用來調試 Web 應用程序。ASP.NET 提供了兩個級別的跟蹤:頁級別跟蹤和應用程序級別跟蹤。頁級別跟蹤以附加到每個被跟蹤頁的 HTML 代碼的形式提供跟蹤信息,而應用程序級別的跟蹤通過應用程序中的一種特殊映射 URL (Trace.axd) 來提供跟蹤信息。

如果您在 ASP.NET 移動 Web 應用程序中使用頁級別跟蹤,附加到呈現的 HTML 代碼可能會防止輸出內容在移動設備上呈現。對于 ASP.NET 移動 Web 應用程序,您必須使用應用程序級別的跟蹤并從桌面 Web 瀏覽器中檢查跟蹤輸出。

有關 ASP.NET 的跟蹤功能的更多信息,請參見 ASP.NET 跟蹤。

會話狀態和 Cookie
ASP.NET 提供了豐富的會話管理功能,它們使您能夠方便地跨請求管理狀態。通常,ASP.NET 會話狀態功能會使用瀏覽器上的 Cookie,但它也可以配置為在不使用 Cookie 的情況下運行。

在 ASP.NET 中,您可以使用 Session 來跨越多個請求保存有關用戶會話的信息。ASP.NET 中的會話管理是可伸縮而可靠的,因此您甚至可以跨越網絡場使用該功能。默認情況下,ASP.NET Session 使用客戶端 Cookie 將標識符存儲在客戶端計算機上。您可以使用該標識符跨越服務器往返過程查找會話。此外,ASP.NET Session 支持無 Cookie 的會話模式,該模式最初將客戶端重定向到包含一個會話標識符的新 URL。然后,會話標識符將自動從 URL 中分析出來。

當編寫 ASP.NET 移動 Web 應用程序時,必須牢記某些移動設備和無線網關不支持 Cookie。若要添加對這些設備的支持,必須將應用程序配置為使用無 Cookie 的會話。

有關 ASP.NET 的會話管理功能的更多信息,請參見 Web 窗體狀態管理介紹和了解狀態管理。

使用會話狀態時的注意事項
當編寫使用會話狀態管理的 ASP.NET 移動 Web 應用程序時,應考慮以下因素:

某些移動設備和網關不支持 Cookie。若要使 ASP.NET 移動 Web 應用程序能夠在這些設備上運行,Web 服務器必須將會話管理設置為無 Cookie 模式。
通過無 Cookie 會話管理采用的技術進行重定向后,某些移動設備在處理相對 URL 時存在問題。
例如,如果將一個 Openwave.com 瀏覽器發送到位于 的 .aspx 文件,而且該 Web 站點將瀏覽器重定向到 /12345678/a.apsx,瀏覽器仍會將其當前路徑當作根路徑。瀏覽器會將隨后對 b.aspx 的相對引用當作 /b.aspx 來請求。

此問題的解決辦法是在頁上包含帶根路徑的 URL(如 /12345678/a.aspx),而不是在重定向之后進行呈現時的相對 URL。內置的 ASP.NET 移動控件會自動執行此任務,但任何新編寫的控件或適配器必須包括對重定向之后的呈現進行處理的代碼。MobilePage 和適配器基類都具有相應的方法來幫助移動控件開發人員編寫帶根路徑的 URL。

使用重定向
作為對 HTTP 重定向的響應,某些設備和瀏覽器目前需要全限定的 URL。在 Machine.config 文件或 Web.config 文件(應用程序級)的 System.Web 節中設置 useFullyQualifiedRedirectUrl=true。有關更多詳細信息,請參見重定向到移動 Web 應用程序。

語法問題
ASP.NET 中的有效語法(例如 <%=)在 ASP.NET 移動控件中無效,必須用數據綁定機制來替換。

數據綁定表達式必須用 <%# 和 %> 來分隔。下面是有關如何使用數據綁定表達式的示例。

<%# binding expression code goes here %>

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97