欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

[ASP.NET]配置使用SQL Server保存會話狀態

系統 2313 0
原文: [ASP.NET]配置使用SQL Server保存會話狀態

  會話狀態是ASP.NET應用程序狀態的其中一種,這種狀態的特點是以用戶為單位,每個會話對應一個用戶,也就是說在該用戶的整個訪問過程,會話狀態保存的數據都會持續保存于服務器的介質中,直到會話超時(即用戶超過指定時間沒有存取會話數據)。在服務器端保存會話狀態的方式有幾種,分別為:

?
1) InProc ——這種方式會話狀態保存在ASP.NET運行進程內,具體位置就是ASP.NET的Cache(高速緩存)內。
2) StateServer ——這種方式會話狀態保存在ASP.NET所帶有的Wiindows服務進程中,該服務默認是禁用的,需要人手啟動。
3) SQL Server ——這種方式會話狀態保存到SQL Server所管理的數據庫中。具體又可以分為保存在臨時數據庫,ASPState數據庫和自定義數據庫三種方式。
4) 自定義提供程序 ——這種方式要求開發人員自己開發會話狀態的提供程序,會話狀態的存取方式完全由該提供程序決定,由此可以保存在其他SQL數據庫,或者XML文件,甚至文本文件中都可以。
?
本文目的在于說明怎樣配置使用SQL Server來保存會話狀態。
整個配置過程分為兩部分:
第一部分,在ASP.NET程序運行的服務器上,配置所使用的數據庫服務器。
第二部分,在ASP.NET程序的配置文件中修改會話狀態的保存方式。
?
配置所使用的數據庫服務器
1)運行aspnet_regsql.exe程序,該程序位于目錄C:\WINDOWS\Microsoft.NET\Framework\<ASP.NET版本號>下。首先雙擊運行該程序,為ASP.NET配置SQL Server。
[ASP.NET]配置使用SQL Server保存會話狀態 選擇“下一步”
[ASP.NET]配置使用SQL Server保存會話狀態 選擇按圖中所示進行選擇,然后“下一步”
[ASP.NET]配置使用SQL Server保存會話狀態
填入與ASP.NET關聯的數據庫服務器信息,注意這里選擇的數據庫,在往后的ASP.NET應用程序中是可以改變的。填入完成之后選擇“下一步”
之后還有兩個界面,不過在那兩個界面中只需要“下一步”,沒有可選擇的信息,所以這里不列出來了。
?
2)配置會話狀態使用的數據庫庫。
正如剛才所說,使用數據庫保存會話也分三種方式,臨時數據庫(SQL Server重啟后會丟失數據)、ASPState數據庫和自定義數據庫。
注意 -ssadd, -E, -sstype 指令。
??? -ssadd 指令的功能是添加會話數據庫,默認是添加到臨時數據庫
??? -E 指令的功能是使用WINDOWS身份驗證,因為我演示的SQL Server在本機上,所以使用該指令才能連接,單獨的 -ssadd是運行不了的。
??? -sstype ?指令的功能是指定會話狀態使用哪個數據庫。隨后的參數有 t、p'和c?,分別為臨時數據庫,ASPState數據庫庫和自定義數據庫。
??? -d 的功能是在指定自定義數據庫的時候,指定該數據庫的名稱,以數據庫名稱做參數。
?
使用臨時數據庫保存會話狀態的指令
[ASP.NET]配置使用SQL Server保存會話狀態
臨時數據庫中多了兩個用于保存會話狀態信息的表。
?
使用ASPState數據庫保存會話狀態的指令
[ASP.NET]配置使用SQL Server保存會話狀態
[ASP.NET]配置使用SQL Server保存會話狀態 執行之后,在數據庫中出現了新的數據庫ASPState。其中帶有的表跟之前在臨時數據庫中的一致。
?
使用自定義數據庫TestCustom數據庫保存會話狀態的指令
[ASP.NET]配置使用SQL Server保存會話狀態
[ASP.NET]配置使用SQL Server保存會話狀態
除了擁有上述的表之外,還帶有一系列自動添加上去的存儲過程,其實這些存儲過程不是自定義數據庫才特有的。無論使用哪種數據庫,都會有這些存儲過程,只是當從一種數據庫改到另一種數據庫的時候,表會留下來,但存儲過程就會全部轉移到新使用的數據庫中。
?
想要取消使用以上的設置,只需要-ssremove -E指令。
[ASP.NET]配置使用SQL Server保存會話狀態
以上這些只能在本機的數據庫中創建會話數據庫,但正規的操作是不應該在數據庫服務器上直接進行這些操作,很可能該服務器上根本沒有ASP.NET的組件。
因此我們需要從ASP.NET程序的部署服務器,通過遠程連接來進行配置,以下將演示這一實例,通過我的計算機連接到團隊成員的遠程計算機上。
?
要先說明,在CMD中運行aspnet_regsql.exe,要進行遠程連接,需要使用-S -U -P指令,分別指定:數據庫服務器名稱/地址、連接使用的帳號和密碼。
同時必須注明,要在SQL Server中配置會話數據庫,必須具有 創建表格,創建數據庫,創建存儲過程,和MSDB的RSExecRole角色權限 。否則配置過程一定會出錯。
[ASP.NET]配置使用SQL Server保存會話狀態
以上配置指令在 119.120.74.150的機器上,使用帳號密碼均為silin建立連接,然后創建一個自定義數據庫TestCustom來保存會話狀態。
?
以上就是關于ASP.NET使用SQL Server的配置。接下來是配置文件的修改。
?
修改ASP.NET程序的配置文件
?
在ASP.NET的配置文件中找到<sessionState>區段,很可能沒有這個區段,因為存在默認設置,這里假設沒有這個區段,重新寫入。
?
<sessionState mode="SQLServer" sqlConnectionString="所需連接字符串" /> 只需要這么簡單的設置。當然還有其他設置,但要起到作用,最少只需要這兩個屬性設置就OK了。
?
完成上述設置之后,在程序中的存取的會話數據就會自動保存到數據庫中,整個編碼過程沒有任何改動。ASP.NET的這個提供程序機制,的確把代碼實現跟數據保存方式分離了。不過要注意,當把會話狀態保存到ASP.NET運行進程以外的介質時,必定會進行序列化和反序列化,因此必須注意會話狀態中保存的類型是否能夠進行序列化。

[ASP.NET]配置使用SQL Server保存會話狀態


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩精品中文字幕久久 | 久久一区二区精品综合 | 亚洲二区视频 | 久久久久久精 | 免费国产成人高清视频网站 | 日韩在线1 | 四虎在线免费观看视频 | 亚洲一区二区三区免费视频 | 国产精品毛片一区二区三区 | 国产一卡2卡三卡4卡免费网站 | 成人淫片免费视频95视频 | 丰满岳妇乱一区二区三区 | 亚洲日本三级 | 99精品在线| 国产高清片 | 性色视频在线 | 91看片儿 | 久青草久青草高清在线播放 | 国产一区二区免费 | 免费中日高清无专码有限公司 | 色综合色狠狠天天久久婷婷基地 | 久久久久性视频 | 九九热免费视频在线观看 | 一区二区三区免费视频观看 | 亚洲国产成人精品女人久久久 | 欧美精品综合一区二区三区 | 91麻豆精品国产91久久久更新时间 | 欧美在线观看一区二区 | 狠狠操天天操夜夜操 | 护士hd欧美free性xxxx | 精品国产一区二区国模嫣然 | www.99av | 日本又黄又粗暴的gif动态图含羞 | 天天操网 | 99中文在线| 青草香蕉精品视频在线观看 | 日韩精品一 | 久久青青草视频 | 亚洲十欧美十日韩十国产 | 国产乱码精品一区二区三区中 | h视频在线免费 |