久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

介紹一三種Session存儲方式

 張小龍net館藏 2019-10-16

           這個唯一的SessionId還是有很大的實際意義,,當一個用戶提交表單時,,瀏覽器就會將用戶的SessionId自動附加在HTTP頭信息中,當服務器 處理完這個表單后,,就會將結果返回給SessionId所對應的用戶,。

          如下是Web.config如何配置Session的:

           <configuration>
<system.web>
<sessionState mode=" Off | InProc | StateServer | SQLServer "
cookieless=" true | false "
timeout=" number of minutes "
stateConnectionString=" tcpip=server:port "
sqlConnectionString=" sql connection string "
stateNetworkTimeout=" number of seconds " />
</system.web>
</configuration>

其中各個節(jié)點屬性:
mode: Session的存儲方式(必有的屬性)。
InProc:將Session存到進程內(這是Default值,。)
off:禁用Session.
StateServer:將Session存到獨立的狀態(tài)服務中(Asp.net State Service).
SqlServer:將Session存到SqlServer中,。
Cookieless:設置客戶端Session存儲的方式。
false:使用Cookie模式(default).
true:使用Cookieless模式,。
timeout:設置Session過期時間(default is 20 minutes)
stateConnectionString: 設置Session獨立存放的狀態(tài)服務所在服務器的名稱(地址)和端口號,,當mode=&ldquo;stateserver時,這個屬性就是必 須的,。
sqlConnectionString:設置與Sqlserver的連接字符串,,當mode="sqlserver"時,這個屬性時必須的。
stateNetWorkTimeout:設置當mode=&ldquo;StateServer&rdquo;時,,經(jīng)過多少秒空閑后,, 斷開web服務器與存儲狀態(tài)信息服務器的TCP/IP連接(default is 10 seconds).

asp.net中客戶端Session的存儲。
asp.net中,,默認是使用Cookie存儲Session的,,如果是將cookieless="false",改成 cookieless="true",則session就不用cookie來存儲了,,而是使用url來存儲,。

asp.net服務器端session存儲在進程內(inproc)
當mode="Inproc"時,服務器的Session存儲在IIS進程中,,當IIS關閉,,重啟時,這些Session信息就會丟失,,但這種模式最大的 好處就是性能提高,。

      asp.net服務器端Session存儲在進程外(StateServer)
當mode="StateServer"時,服務器的Session就存儲在"ASP.NET State Server"這個服務的進程中,,在服務中找到名為:&ldquo;ASP.NET State Service&rdquo;的服務,,啟動這個服務,在資源管理器的進程中就能找到一個名 為:&ldquo;aspnet_state.exe"的進程,,這個就是我們保存 Session的進程,。
&rdquo;ASP.NET State Server"服務可以與Web服務器分開.eg:web服務器在192.168.0.100上,&ldquo;asp.net state service"服務在192.168.0.101上,,則可以進行設置:
mode="StateServer" stateConnection="tcpip=192.168.1.101:42424".

     asp.net服務器端Session存儲到SQLServer中(SQLServer),
當mode="sqlserver"時,,服務器的Session就是存儲到Sql server中建立一個存儲Session的數(shù)據(jù)庫。在
%windir%\Microsoft.NET\Framework\v2.0.50727 下有個名為: InstallSqlState.sql 的sql腳本文件. 這個腳本是專門用來建存儲Session的數(shù)據(jù)庫以及一個維護Session信息數(shù)據(jù)庫的SQL Server代理作業(yè)的.

      執(zhí)行此sql腳本后,,會看到一個新增的aspstate數(shù)據(jù)庫,,但這個數(shù)據(jù)庫中,只有存儲過程,,沒有用戶表,,用戶表放到了tempdb這個數(shù)據(jù)庫中去 了,ASpstateTempSessions和ASPStateTempApplications,Session信息存儲到了 ASPStateTempApplication存儲了asp中Application對象信息,。

    另外查看管理->SQL Server代理->作業(yè),,會發(fā)現(xiàn)多了一個名為:

ASPState_job_DeleteExpiredSession的作業(yè),這個作業(yè)實際上是每分鐘去ASPStateTempSession中 刪除過期的Session信息,。

      上面的方法是建立Session數(shù)據(jù)庫的一個”官方“方法,,但在實際的應用中一般沒這么去建,而是采用另一種方法,,使用下面這段命令來自動創(chuàng)建 Session數(shù)據(jù)庫:

  

aspnet_regsql.exe -S ServerName\InstanceName -U User -P Password -d DBName -ssadd -sstype c

      此命令將在ServerName\InstanceName建立DBName的數(shù)據(jù)庫, 用戶存儲Session的數(shù)據(jù)庫. 此數(shù)據(jù)庫中包含了存儲過程和用戶表. 同時在SQL Server代理 -> 作業(yè) 中也加入了相應的作業(yè).

      然后在Web.config中設置好配置信息:

mode="SQLServer" sqlConnectionString="data source=ServerName\InstanceName; Integrated Security=SSPI;"

      "Integrated Security=SSPI;" 是指使用Windows集成身份驗證.

       如果使用SQL用戶登陸方式. 則在sqlConnectionString中設置好"userid=sa; password=***".

      這樣一來就可以將Session存放到SQLServer中了

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多