一.什麼是應用程序設置
應用程序設置通常是指與應用程序密切相關的一系列參數。在基於窗體的Windows應用程序中,應用程序設置主要包括影響應用程序布局的位置.尺寸等參數;影響應用程序外觀的顏色.形狀等參數;此外,還包括應用程序的語言.文化等設置以及數據源和連接字符串等等。這些參數設置在程序開發中應用廣泛,有的被用來保持應用程序的一致性.連續性,比如保存應用程序結束時的窗體大小.位置及背景顏色,下次執行應用程序時恢復這些設置;另一些參數則使程序代碼更加簡潔高效,比如保存數據庫連接字符串供多次調用。
與基於窗體的windows應用程序不完全相同,基於web的Asp.net應用程序有其自身的特殊性,它是面向網絡的。這決定了asp.net應用程序設置除包括上面的參數外,還包括,
#身份驗證和授權等安全機制
#網絡傳輸協議類型和針對特定類型文檔的http處理程序
#事務處理
#為所有頁面設置超時
#定制出錯頁面來代替默認IIS出錯頁面
#會話和會話狀態信息
#頁面緩存行為
#自定義及擴展
可見,asp.net 應用程序設置參數類型更為豐富。實際開發中,它們不僅被用來提高應用程序安全性.高效性,而且易於對特定用戶實施管理並可定制需求。
二.為什麼要將asp.net應用程序設置外置為web服務
關於web服務的優點就不用再提了,媒體鋪天蓋地的宣傳和在許多領域的廣泛應用已經足夠說明問題。不過這裡仍然要強調的是,web服務實際上就是asp.net應用程序,只不過重新進行了組織。特別地,web服務為不同應用程序之間共享對象提供了實現。通過簡單的引用,你可以在程序中訪問另一程序實現的功能,而不僅僅是asp.net中那樣只有通過浏覽器才能實現。顯而易見,web服務也具有一般asp.net應用程序所擁有的許多功能和特性。Asp.net和web服務都有狀態管理功能就是一個典型的示例。
然而,將asp.net應用程序設置外置為web服務有什麼優點呢?一方面可以從軟件(應用程序)可復用性方面得到答案,試想一想,如果客戶應用程序(源)需要使用另一應用程序(目標)的設置參數,這時,將目標應用程序設置配置為web服務,在源應用程序中就能夠方便地調用了,就像在本機配置了同樣的設置一樣。另一方面,web服務(asp.net應用程序應用)特殊的存儲其應用程序設置的機制(即下面將講述的web.config文件存儲設置)使得應用程序跨平台.跨internet以及應用程序的升級和xcopy部署方式成為可能。