閱讀831 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Web.config詳解

一、認識Web.config文件
Web.config XML ASP.NET Web ASP.NET Web .NETWebWeb.configWeb.config
).Web.ConfigXML,

<configSections>

: <appSetting> .
3.

: <system.Web>Asp.net.
4.

: <sectionGroup><configSections><sectionGroup>.
(
).


.
2.<appSetting>


:
I.
<appSettings>
<add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/>
<appSettings>
.
II.<appSettings>
<add key="ErrPage" value="Error.aspx"/>
<appSettings>
.
3.<compilation>

:
<compilation
defaultLanguage="c#"
debug="true"
/>
I.default language:
,C#VB.net
.
IIdebug :
trueaspx falseaspx

true,false.
4.<customErrors>

:
<customErrors
mode="RemoteOnly"
defaultRedirect="error.aspx"
<error statusCode="440" redirect="err440page.aspx"/>
<error statusCode="500" redirect="err500Page.aspx"/>
/>
I.mode :
On,Off,RemoteOnly 3On; Offasp.net; RemoteOnlyWeb
.
II.defaultRedirect:
URL.

.
IV. redirect:
URL.
5.<globalization>

:
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
fileEncoding="utf-8"
/>
I.requestEncoding:
.
II.responseEncoding:
.
III.fileEncoding:
aspx,asax
.
6.<sessionState>

:
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
I.mode:
off,Inproc,StateServer,SqlServer


II. stateConnectionString :
Asp.net

truecookie .
V. TimeOut:
.
7.<authentication>

:
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
I.Windows:
IIS


Passport cookie

Forms:
I.Name:
Http cookie
.
II.LoginUrl:
URL

cookie.
: All None Encryption Validation


Cookie.
c. Encryption
Cookie

Cookie
Cookie. .

Web.config<processModel> Web.config文件是可以擴展的。你可以自定義新配置參數並編寫配置節處理程序以對它們進行處理。

web.config
<configuration>
<system.web>

</system.web>
</configuration>
XML標記。

1<authentication>
ASP.NET WindowsFormsPassPortNone< authentication> <authorization> 節配合使用。

示例:

Forms
<authentication mode="Forms" >
<forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication>
loginUrlnameCookie名稱。

2<authorization>
URL <authentication> 節配合使用。


<authorization>
   <deny users="?"/>
</authorization>
user.identity.nameweb.Security.FormsAuthentication.RedirectFromLoginPage.具體的

3<compilation>
ASP.NET debug“True”.FalseWeb.config文件中有詳細說明,此處省略示例)

4<customErrors>
ASP.NET XML Web services 中發生的錯誤。


<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
</customErrors>
defaultRedirectmode Web ()信息。

5<httpRuntime>
ASP.NET HTTP 運行庫設置。該節可以在計算機、站點、應用程序和子目錄級別聲明。

4M60100
<httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100"/>

6 <pages>
<pages>可以在計算機、站點、應用程序和子目錄級別聲明。

)(

7<sessionState>
作用:為當前應用程序配置會話狀態設置(如設置是否啟用會話狀態,會話狀態保存位置)。


<sessionState mode="InProc" cookieless="true" timeout="20"/>
</sessionState>

mode="InProc"
SAL

Cookie(False
表示:會話可以處於空閑狀態的分鍾數

8<trace>
ASP.NET 跟蹤服務,主要用來程序測試判斷哪裏出錯。

Web.config
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />

enabled="false"




(trace.axd) Web 服務器

Web.config

Web.config
1.
<configSections> </configSections> .NET Framework

<configSections> 區域之後為聲明的節做實際的配置設置。


<configuration>
<configSections>
<section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
<appSettings>
<add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/>
</appSettings>
<system.web>
......
</system.web>
</configuration>

Web.config ConfigurationSettings.AppSettings Web.config

二、web.config中的session配置詳解
Web.config
< sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
SessionsessionState

< 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"
/>


Session
Ø         Off
Session

SessionASP
Session
SessionSQL Server


Ø         cookieless
Session

Cookieless
Cookie
Session20
Session"tcpip=127.0.0.1:42424”modeStateServer
sqlConnectionString
SQL Server"data source= localhost;Integrated Security=SSPI;Initial Catalog=northwind"mode SQLServer

stateNetworkTimeout
StateServerSessionWebTCP/IP10

ASP.NETSession
SessionSessionSessionIDSessionASPSessionIDCookieCookieSession ASP.NETSessionCookieCookieless

ASP.NETCookieSessionCookielessSession
WebWeb.Config
< sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
cookieless="false"cookieless="true"Session CookieURLIEIEWeb

https://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245) /default.aspxSession IDIIS自動加上的,不會影響以前正常的連接。

ASP.NETSession
SessionState.aspx< body>< /body>
< scriptrunat="server">
Sub Session_Add(sender As Object, e As EventArgs)
Session("MySession") = text1.Value
span1.InnerHtml = "Session data updated! < P>Your session contains: < font color=red>" & Session("MySession"). ToString() & "< /font>"
End Sub
Sub CheckSession(sender As Object, eAs EventArgs)
If (Session("MySession")Is Nothing) Then
span1.InnerHtml = "NOTHING, SESSION DATA LOST!"
Else
span1.InnerHtml = "Your session contains: < font color= red>" & Session("MySession").ToString() & "<   /font>"
End If
End Sub
< /script>
< formrunat="server">
< inputtype="text"runat="server"name="text1">
< inputtype="submit"runat="server"OnServerClick="Session_Add"
value="Add to Session State " name="Submit1">
< inputtype="submit"runat="server"OnServerClick="CheckSession"
value=" View Session State " name="Submit2">
< /form>
< hrsize="1">
< fontsize="6">< spanrunat="server" />< /font>
SessionState.aspxSession信息。

Session
Web.config

< sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
modeInProc

ASPSessionIISIISSessionIISIISSessionSQL ServerSessionASP.NET
SessionState.aspxSessionIISIISIIS(NT4IIS@#$%^&)SessionState.aspxSession信息,發現信息已經丟失了。

Session
->ASP.NET State ServiceSessionWindows-> aspnet_state.exeSession

Web.configmodeStateServerIE SessionState.aspxSessionIISSessionState.aspxSession
SessionSessionmodeStateServerstateConnectionString192.168.0.1SessionIP192.168.0.2 stateConnectionString="tcpip=192.168.0.2:42424"192.168.0.2.NET FrameworkASP.NET State Services服務。

SessionSQL Server
SQL ServerSQL ServerSQL Server InstallSqlState.sqlSQL ServerSessionSessionSQL Server

[system drive]/winnt/Microsoft.NET/Framework/[version]/
SQL ServerASPStateSessiontempdb ASPStateTempSessionsASPStateTempApplicationsASP Application->SQL Server->ASPState_Job_DeleteExpiredSessionsASPStateTempSessions Session
Web.configmodeSQLServersqlConnectionString
sqlConnectionString="data source=localhost; Integrated Security=SSPI;"
data sourceSQL ServerIPSQL ServerIIS127.0.0.1 Integrated Security=SSPIWindowsASP.NETuserid=sa;password=SQL ServerSQL ServerActive Directory
SessionState.aspxSessionSession SQL ServerSessionSessionSQL Server中的,能幹什麼就看你的發揮了。


SessionASP.NETASP

WebWindowsUnix IISApacheSQL ServerOracle強大,但是,誰可以將他們如此完美的聯動到一起呢?所以說,雖然微軟每一方麵都不是太強,但是如果把微軟的東西都整合到一起,誰敢說他不強大呢?微軟就是微軟!

三、Asp.net 關於form認證的一般設置
asp.net form
web.configform
   <authentication mode="Forms">
            <forms name="auth" loginUrl="index.aspx" timeout="30"></forms>
</authentication>
<authorization>
        <deny users="?" />
</authorization>
2:
;
<configuration><system.web>,<system.web>..</system.web>
;
----------------
userReg.aspx
.
<location path="userReg.aspx">
  <system.web>
     <authorization>
         <allow users="?" />
     </authorization>
  </system.web>
</location>
3
,
;
if(
)

System.Web.Security.FormsAuthentication.SetAuthCookie(, false);


四、訪問Web.config文件
ConfigurationSettings.AppSettings Web.config 文件示例:獲取上麵例子中建立的連接字符串。例如:

最後更新:2017-04-02 00:06:29

  上一篇:go 觀滄海
  下一篇:go 浪淘沙&#183;北戴河