<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    superwei

    導航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    (轉(zhuǎn)) 認識Web.config文件

    Web.config 文件是一個XML文本文件,它用來儲存 ASP.NET Web 應(yīng)用程序的配置信息(如最常用的設(shè)置ASP.NET Web 應(yīng)用程序的身份驗證方式),它可以出現(xiàn)在應(yīng)用程序的每一個目錄中。當你通過.NET新建一個Web應(yīng)用程序后,默認情況下會在根目錄自動創(chuàng)建一個默認的Web.config文件,包括默認的配置設(shè)置,所有的子目錄都繼承它的配置設(shè)置。如果你想修改子目錄的配置設(shè)置,你可以在該子目錄下新建一個Web.config文件。它可以提供除從父目錄繼承的配置信息以外的配置信息,也可以重寫或修改父目錄中定義的設(shè)置。
    (一).Web.Config是以XML文件規(guī)范存儲,配置文件分為以下格式
    1.配置節(jié)處理程序聲明
    特點: 位于配置文件的頂部,包含在<configSections>標志中。
    2.特定應(yīng)用程序配置
    特點: 位于<appSetting>中。 可以定義應(yīng)用程序的全局常量設(shè)置等信息.
    3.配置節(jié)設(shè)置
    特點: 位于<system.Web>節(jié)中,控制Asp.net運行時的行為.
    4.配置節(jié)組
    特點: 用<sectionGroup>標記,可以自定義分組,可以放到<configSections>內(nèi)部或其它<sectionGroup>標記的內(nèi)部.
    (二).配置節(jié)的每一節(jié)
    1.<configuration>節(jié)
    根元素,其它節(jié)都是在它的內(nèi)部.
    2.<appSetting>節(jié)
    此節(jié)用于定義應(yīng)用程序設(shè)置項。對一些不確定設(shè)置,還可以讓用戶根據(jù)自己實際情況自己設(shè)置
    用法:
    I.
    <appSettings>
    <add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/>
    <appSettings>
    定義了一個連接字符串常量,并且在實際應(yīng)用時可以修改連接字符串,不用修改程式代碼.
    II.<appSettings>
    <add key="ErrPage" value="Error.aspx"/>
    <appSettings>
    定義了一個錯誤重定向頁面.
    3.<compilation>節(jié)
    格式:
    <compilation
    defaultLanguage="c#"
    debug="true"
    />
    I.default language: 定義后臺代碼語言,可以選擇C#和VB.net兩種語言.
    IIdebug : 為true時,啟動aspx調(diào)試; 為false不啟動aspx調(diào)試,因而可以提高應(yīng)用程序運行
    時的性能。 一般程序員在開發(fā)時設(shè)置為true,交給客戶時設(shè)置為false.
    4.<customErrors>節(jié)
    格式:
    <customErrors
    mode="RemoteOnly"
    defaultRedirect="error.aspx"
    <error statusCode="440" redirect="err440page.aspx"/>
    <error statusCode="500" redirect="err500Page.aspx"/>
    />
    I.mode : 具有On,Off,RemoteOnly 3種狀態(tài)。On表示始終顯示自定義的信息; Off表示始終顯示詳細的asp.net錯誤信息; RemoteOnly表示只對不在本地Web服務(wù)器上運行的用戶顯示自定義信息.
    II.defaultRedirect: 用于出現(xiàn)錯誤時重定向的URL地址. 是可選的
    III.statusCode: 指明錯誤狀態(tài)碼,表明一種特定的出錯狀態(tài).
    IV. redirect:錯誤重定向的URL.
    5.<globalization>節(jié)
    格式:
    <globalization
    requestEncoding="utf-8"
    responseEncoding="utf-8"
    fileEncoding="utf-8"
    />
    I.requestEncoding: 它用來檢查每一個發(fā)來請求的編碼.
    II.responseEncoding: 用于檢查發(fā)回的響應(yīng)內(nèi)容編碼.
    III.fileEncoding: 用于檢查aspx,asax等文件解析的默認編碼.
    6.<sessionState>節(jié)
    格式:
    <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幾種狀態(tài)
    這里有詳細介紹此屬性: http://blog.csdn.net/chengking/archive/2005/10/27/518079.aspx
    II. stateConnectionString :指定Asp.net應(yīng)用程序存儲遠程會話狀態(tài)的服務(wù)器名,默認為本機
    III.sqlConnectionString: 當用會話狀態(tài)數(shù)據(jù)庫時,在這里設(shè)置連接字符串
    IV. Cookieless: 設(shè)置為true時,表示不使用cookie會話狀態(tài)來標識客戶; 否則,相反.
    V. TimeOut: 用來定義會話狀態(tài)存儲的時間,超過期限,將自動終止會話.
    7.<authentication>節(jié)
    格式:
    <authentication mode="Forms">
    <forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>
    </authentication>
    <authorization>
    <deny users="?"/>
    </authorization>
    I.Windows: 使用IIS驗證方式
    II.Forms: 使用基于窗體的驗證方式
    III.Passport: 采用Passport cookie驗證模式
    IV.None: 不采用任何驗證方式
    里面內(nèi)嵌Forms節(jié)點的屬性涵義:
    I.Name: 指定完成身份驗證的Http cookie的名稱.
    II.LoginUrl: 如果未通過驗證或超時后重定向的頁面URL,一般為登錄頁面,讓用戶重新登錄
    III.Protection: 指定 cookie數(shù)據(jù)的保護方式.
    可設(shè)置為: All None Encryption Validation四種保護方式
    a. All表示加密數(shù)據(jù),并進行有效性驗證兩種方式
    b. None表示不保護Cookie.
    c. Encryption表示對Cookie內(nèi)容進行加密
    d. validation表示對Cookie內(nèi)容進行有效性驗證
    IV. TimeOut: 指定Cookie的失效時間. 超時后要重新登錄.

    在運行時對Web.config文件的修改不需要重啟服務(wù)就可以生效(注:<processModel> 節(jié)例外)。當然Web.config文件是可以擴展的。你可以自定義新配置參數(shù)并編寫配置節(jié)處理程序以對它們進行處理。

    web.config配置文件(默認的配置設(shè)置)以下所有的代碼都應(yīng)該位于
    <configuration>
    <system.web>

    </system.web>
    </configuration>
    之間,出于學習的目的下面的示例都省略了這段XML標記。

     

    1、<authentication> 節(jié)
    作用:配置 ASP.NET 身份驗證支持(為Windows、Forms、PassPort、None四種)。該元素只能在計算機、站點或應(yīng)用程序級別聲明。< authentication> 元素必需與<authorization> 節(jié)配合使用。

     

    示例:

    以下示例為基于窗體(Forms)的身份驗證配置站點,當沒有登陸的用戶訪問需要身份驗證的網(wǎng)頁,網(wǎng)頁自動跳轉(zhuǎn)到登陸網(wǎng)頁。
    <authentication mode="Forms" >
    <forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
    </authentication>
    其中元素loginUrl表示登陸網(wǎng)頁的名稱,name表示Cookie名稱。

    2、<authorization> 節(jié)
    作用:控制對 URL 資源的客戶端訪問(如允許匿名用戶訪問)。此元素可以在任何級別(計算機、站點、應(yīng)用程序、子目錄或頁)上聲明。必需與<authentication> 節(jié)配合使用。

     

    示例:以下示例禁止匿名用戶的訪問
    <authorization>
       <deny users="?"/>
    </authorization>
    注:你可以使用user.identity.name來獲取已經(jīng)過驗證的當前的用戶名;可以使用web.Security.FormsAuthentication.RedirectFromLoginPage方法將已驗證的用戶重定向到用戶剛才請求的頁面.具體的

    3、<compilation>節(jié)
    作用:配置 ASP.NET 使用的所有編譯設(shè)置。默認的debug屬性為“True”.在程序編譯完成交付使用之后應(yīng)將其設(shè)為False(Web.config文件中有詳細說明,此處省略示例)

     

    4、<customErrors>
    作用:為 ASP.NET 應(yīng)用程序提供有關(guān)自定義錯誤信息的信息。它不適用于 XML Web services 中發(fā)生的錯誤。

    示例:當發(fā)生錯誤時,將網(wǎng)頁跳轉(zhuǎn)到自定義的錯誤頁面。
    <customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
    </customErrors>
    其中元素defaultRedirect表示自定義的錯誤網(wǎng)頁的名稱。mode元素表示:對不在本地 Web 服務(wù)器上運行的用戶顯示自定義(友好的)信息。

     

    5、<httpRuntime>節(jié)
    作用:配置 ASP.NET HTTP 運行庫設(shè)置。該節(jié)可以在計算機、站點、應(yīng)用程序和子目錄級別聲明。

     

    示例:控制用戶上傳文件最大為4M,最長時間為60秒,最多請求數(shù)為100
    <httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100"/>

    6、 <pages>
    作用:標識特定于頁的配置設(shè)置(如是否啟用會話狀態(tài)、視圖狀態(tài),是否檢測用戶的輸入等)。<pages>可以在計算機、站點、應(yīng)用程序和子目錄級別聲明。

     

    示例:不檢測用戶在瀏覽器輸入的內(nèi)容中是否存在潛在的危險數(shù)據(jù)(注:該項默認是檢測,如果你使用了不檢測,一要對用戶的輸入進行編碼或驗證),在從客戶端回發(fā)頁時將檢查加密的視圖狀態(tài),以驗證視圖狀態(tài)是否已在客戶端被篡改。(注:該項默認是不驗證)
    <pages buffer="true" enableViewStateMac="true" validateRequest="false"/>

    7、<sessionState>
    作用:為當前應(yīng)用程序配置會話狀態(tài)設(shè)置(如設(shè)置是否啟用會話狀態(tài),會話狀態(tài)保存位置)。

     

    示例:
    <sessionState mode="InProc" cookieless="true" timeout="20"/>
    </sessionState>
    注:
    mode="InProc"表示:在本地儲存會話狀態(tài)(你也可以選擇儲存在遠程服務(wù)器或SAL服務(wù)器中或不啟用會話狀態(tài))
    cookieless="true"表示:如果用戶瀏覽器不支持Cookie時啟用會話狀態(tài)(默認為False)
    timeout="20"表示:會話可以處于空閑狀態(tài)的分鐘數(shù)

    8、<trace>
    作用:配置 ASP.NET 跟蹤服務(wù),主要用來程序測試判斷哪里出錯。

     

    示例:以下為Web.config中的默認配置:
    <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
    注:
    enabled="false"表示不啟用跟蹤;
    requestLimit="10"表示指定在服務(wù)器上存儲的跟蹤請求的數(shù)目
    pageOutput="false"表示只能通過跟蹤實用工具訪問跟蹤輸出;
    traceMode="SortByTime"表示以處理跟蹤的順序來顯示跟蹤信息
    localOnly="true" 表示跟蹤查看器 (trace.axd) 只用于宿主 Web 服務(wù)器

    自定義Web.config文件配置

    自定義Web.config文件配置節(jié)過程分為兩步。
    1.在在配置文件頂部 <configSections> 和 </configSections>標記之間聲明配置節(jié)的名稱和處理該節(jié)中配置數(shù)據(jù)的 .NET Framework 類的名稱。
    2.是在 <configSections> 區(qū)域之后為聲明的節(jié)做實際的配置設(shè)置。

     

    示例:創(chuàng)建一個節(jié)存儲數(shù)據(jù)庫連接字符串
    <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 靜態(tài)字符串集合來訪問 Web.config 文件示例:獲取上面例子中建立的連接字符串。例如:
    protected static string Isdebug = ConfigurationSettings.AppSettings["debug"]

     

     

    二、web.config中的session配置詳解
    打開某個應(yīng)用程序的配置文件Web.config后,我們會發(fā)現(xiàn)以下這段:
    < sessionState
      mode="InProc"
      stateConnectionString="tcpip=127.0.0.1:42424"
      sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
      cookieless="false"
      timeout="20"
    />
      這一段就是配置應(yīng)用程序是如何存儲Session信息的了。我們以下的各種操作主要是針對這一段配置展開。讓我們先看看這一段配置中所包含的內(nèi)容的意思。sessionState節(jié)點的語法是這樣的:
    < 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"
    />

    必須有的屬性是 屬性 選項 描述
    mode 設(shè)置將Session信息存儲到哪里
    Ø         Off 設(shè)置為不使用Session功能,
    Ø         InProc 設(shè)置為將Session存儲在進程內(nèi),就是ASP中的存儲方式,這是默認值,
    Ø         StateServer 設(shè)置為將Session存儲在獨立的狀態(tài)服務(wù)中,
    Ø         SQLServer 設(shè)置將Session存儲在SQL Server中。

     

     

    可選的屬性是: 屬性 選項 描述
    Ø         cookieless 設(shè)置客戶端的Session信息存儲到哪里,
    Ø         ture 使用Cookieless模式,
    Ø         false 使用Cookie模式,這是默認值,
    Ø         timeout 設(shè)置經(jīng)過多少分鐘后服務(wù)器自動放棄Session信息,默認為20分鐘。
    stateConnectionString 設(shè)置將Session信息存儲在狀態(tài)服務(wù)中時使用的服務(wù)器名稱和端口號,例如:"tcpip=127.0.0.1:42424”。當mode的值是StateServer是,這個屬性是必需的。
    sqlConnectionString 設(shè)置與SQL Server連接時的連接字符串。例如"data source= localhost;Integrated Security=SSPI;Initial Catalog=northwind"。當mode的值是 SQLServer時,這個屬性是必需的。
    stateNetworkTimeout 設(shè)置當使用StateServer模式存儲Session狀態(tài)時,經(jīng)過多少秒空閑后,斷開Web服務(wù)器與存儲狀態(tài)信息的服務(wù)器的TCP/IP連接的。默認值是10秒鐘。

     

     

    ASP.NET中客戶端Session狀態(tài)的存儲
      在我們上面的Session模型簡介中,大家可以發(fā)現(xiàn)Session狀態(tài)應(yīng)該存儲在兩個地方,分別是客戶端和服務(wù)器端。客戶端只負責保存相應(yīng)網(wǎng)站的SessionID,而其他的Session信息則保存在服務(wù)器端。在ASP中,客戶端的SessionID實際是以Cookie的形式存儲的。如果用戶在瀏覽器的設(shè)置中選擇了禁用Cookie,那末他也就無法享受Session的便利之處了,甚至造成不能訪問某些網(wǎng)站。為了解決以上問題,在 ASP.NET中客戶端的Session信息存儲方式分為:Cookie和Cookieless兩種。
      ASP.NET中,默認狀態(tài)下,在客戶端還是使用Cookie存儲Session信息的。如果我們想在客戶端使用Cookieless的方式存儲Session信息的方法如下:
      找到當前Web應(yīng)用程序的根目錄,打開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"
    />
      這段話中的cookieless="false"改為:cookieless="true",這樣,客戶端的Session信息就不再使用 Cookie存儲了,而是將其通過URL存儲。關(guān)閉當前的IE,打開一個新IE,重新訪問剛才的Web應(yīng)用程序,就會看到類似下面的樣子:
    其中,http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245) /default.aspx中黑體標出的就是客戶端的Session ID。注意,這段信息是由IIS自動加上的,不會影響以前正常的連接。

     

    ASP.NET中服務(wù)器端Session狀態(tài)的存儲 準備工作:
      為了您能更好的體驗到實驗現(xiàn)象,您可以建立一個叫做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"id="Form2">
      < inputid="text1"type="text"runat="server"name="text1">
      < inputtype="submit"runat="server"OnServerClick="Session_Add"
          value="Add to Session State " id="Submit1"name="Submit1">
      < inputtype="submit"runat="server"OnServerClick="CheckSession"
          value=" View Session State " id="Submit2"name="Submit2">
    < /form>
    < hrsize="1">
    < fontsize="6">< spanid="span1"runat="server" />< /font>
      這個SessionState.aspx的頁面可以用來測試在當前的服務(wù)器上是否丟失了Session信息。

     

     

    將服務(wù)器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"
    />
      當mode的值是InProc時,說明服務(wù)器正在使用這種模式。
      這種方式和以前ASP中的模式一樣,就是服務(wù)器將Session信息存儲在IIS進程中。當IIS關(guān)閉、重起后,這些信息都會丟失。但是這種模式也有自己最大好處,就是性能最高。應(yīng)為所有的Session信息都存儲在了IIS的進程中,所以IIS能夠很快的訪問到這些信息,這種模式的性能比進程外存儲Session信息或是在SQL Server中存儲Session信息都要快上很多。這種模式也是ASP.NET的默認方式。
      好了,現(xiàn)在讓我們做個試驗。打開剛才的SessionState.aspx頁面,隨便輸入一些字符,使其存儲在Session中。然后,讓我們讓IIS重起。注意,并不是使當前的站點停止再開始,而是在IIS中本機的機器名的節(jié)點上點擊鼠標右鍵,選擇重新啟動IIS。(想當初使用NT4時,重新啟動IIS必須要重新啟動計算機才行,微軟真是@#$%^&)返回到SessionState.aspx頁面中,檢查剛才的Session信息,發(fā)現(xiàn)信息已經(jīng)丟失了。

     

    將服務(wù)器Session信息存儲在進程外
      首先,讓我們來打開管理工具->服務(wù),找到名為:ASP.NET State Service的服務(wù),啟動它。實際上,這個服務(wù)就是啟動一個要保存Session信息的進程。啟動這個服務(wù)后,你可以從Windows任務(wù)管理器->進程中看到一個名為 aspnet_state.exe的進程,這個就是我們保存Session信息的進程。
      然后,回到Web.config文件中上述的段落中,將mode的值改為StateServer。保存文件后的重新打開一個IE,打開 SessionState.aspx頁面,保存一些信息到Session中。這時,讓我們重起IIS,再回到SessionState.aspx頁面中查看剛才的Session信息,發(fā)現(xiàn)沒有丟失。
      實際上,這種將Session信息存儲在進程外的方式不光指可以將信息存儲在本機的進程外,還可以將Session信息存儲在其他的服務(wù)器的進程中。這時,不光需要將mode的值改為StateServer,還需要在stateConnectionString中配置相應(yīng)的參數(shù)。例如你的計算你是192.168.0.1,你想把Session存儲在IP為192.168.0.2的計算機的進程中,就需要設(shè)置成這樣: stateConnectionString="tcpip=192.168.0.2:42424"。當然,不要忘記在192.168.0.2的計算機中裝上.NET Framework,并且啟動ASP.NET State Services服務(wù)。

     

    將服務(wù)器Session信息存儲在SQL Server中
      首先,還是讓我們來做一些準備工作。啟動SQL Server和SQL Server代理服務(wù)。在SQL Server中執(zhí)行一個叫做 InstallSqlState.sql的腳本文件。這個腳本文件將在SQL Server中創(chuàng)建一個用來專門存儲Session信息的數(shù)據(jù)庫,及一個維護Session信息數(shù)據(jù)庫的SQL Server代理作業(yè)。我們可以在以下路徑中找到那個文件:
    [system drive]\winnt\Microsoft.NET\Framework\[version]\
      然后打開查詢分析器,連接到SQL Server服務(wù)器,打開剛才的那個文件并且執(zhí)行。稍等片刻,數(shù)據(jù)庫及作業(yè)就建立好了。這時,你可以打開企業(yè)管理器,看到新增了一個叫ASPState的數(shù)據(jù)庫。但是這個數(shù)據(jù)庫中只是些存儲過程,沒有用戶表。實際上Session信息是存儲在了tempdb 數(shù)據(jù)庫的ASPStateTempSessions表中的,另外一個ASPStateTempApplications表存儲了ASP中 Application對象信息。這兩個表也是剛才的那個腳本建立的。另外查看管理->SQL Server代理->作業(yè),發(fā)現(xiàn)也多了一個叫做ASPState_Job_DeleteExpiredSessions的作業(yè),這個作業(yè)實際上就是每分鐘去ASPStateTempSessions 表中刪除過期的Session信息的。
      接著,我們返回到Web.config文件,修改mode的值改為SQLServer。注意,還要同時修改sqlConnectionString的值,格式為:
    sqlConnectionString="data source=localhost; Integrated Security=SSPI;"
      其中data source是指SQL Server服務(wù)器的IP地址,如果SQL Server與IIS是一臺機子,寫127.0.0.1 就行了。Integrated Security=SSPI的意思是使用Windows集成身份驗證,這樣,訪問數(shù)據(jù)庫將以ASP.NET的身份進行,通過如此配置,能夠獲得比使用userid=sa;password=口令的SQL Server驗證方式更好的安全性。當然,如果SQL Server運行于另一臺計算機上,你可能會需要通過Active Directory域的方式來維護兩邊驗證的一致性。
      同樣,讓我們做個試驗。向SessionState.aspx中添加Session信息,這時發(fā)現(xiàn)Session信息已經(jīng)存在 SQL Server中了,即使你重起計算機,剛才的Session信息也不會丟失。現(xiàn)在,你已經(jīng)完全看見了Session信息到底是什么樣子的了,而且又是存儲在SQL Server中的,能干什么就看你的發(fā)揮了。

    總結(jié)
      通過這篇文章,你可以看到在Session的管理和維護上,ASP.NET比ASP有了很大的進步,我們可以更加隨意的挑選適合的方法了。對于企業(yè)級的應(yīng)用來說,這無疑對于服務(wù)器的同步、服務(wù)器的穩(wěn)定性、可靠性都是有利的。相信在強大的微軟支持下,新一代的電子商務(wù)平臺將會搭建的更好!
            同時,大家也會發(fā)現(xiàn),在這個整個技術(shù)中包括了操作系統(tǒng)、Web服務(wù)及數(shù)據(jù)庫多種技術(shù)的整合。我相信,也許Windows沒有Unix穩(wěn)定, IIS沒有Apache穩(wěn)定,SQL Server也沒有Oracle強大,但是,誰可以將他們?nèi)绱送昝赖穆?lián)動到一起呢?所以說,雖然微軟每一方面都不是太強,但是如果把微軟的東西都整合到一起,誰敢說他不強大呢?微軟就是微軟!

     

    三、Asp.net 關(guān)于form認證的一般設(shè)置
    asp.net 關(guān)于form認證的一般設(shè)置:
    1: 在web.config中,加入form認證;
       <authentication mode="Forms">
                <forms name="auth" loginUrl="index.aspx" timeout="30"></forms>
    </authentication>
    <authorization>
            <deny users="?" />
    </authorization>
    2: 如果有注冊頁面時還應(yīng)該允許匿名用戶調(diào)用注冊頁面進行注冊;
    以下代碼應(yīng)該在<configuration><system.web>之間,而不應(yīng)該包含到<system.web>..</system.web>之間;
    ----------------表示允許 匿名用戶對 userReg.aspx頁面進行訪問.
    <location path="userReg.aspx">
      <system.web>
         <authorization>
             <allow users="?" />
         </authorization>
      </system.web>
    </location>
    3 在登錄成功后要創(chuàng)建身份驗證票, 表明已經(jīng)通過認證的合法用戶;
    if(登陸成功)

    System.Web.Security.FormsAuthentication.SetAuthCookie(用戶名稱, false);
      四、訪問Web.config文件
      你可以通過使用ConfigurationSettings.AppSettings 靜態(tài)字符串集合來訪問 Web.config 文件示例:獲取上面例子中建立的連接字符串。例如:

    protected static string Isdebug = ConfigurationSettings.AppSettings["scon"]
    該文章轉(zhuǎn)自Doorle's Blog-多樂博客:http://www.doorle.cn/blog/article.asp?id=923 

    posted on 2008-02-13 14:47 小辭猬 閱讀(218) 評論(0)  編輯  收藏 所屬分類: DoNet

    主站蜘蛛池模板: 国产精品亚洲二区在线观看| 亚洲精品国产福利片| 精品无码一级毛片免费视频观看 | 亚洲国产精品xo在线观看| 成人黄18免费视频| 青青免费在线视频| 亚洲av无码国产精品色午夜字幕| 久久天天躁狠狠躁夜夜免费观看| 一级毛片在线完整免费观看| 亚洲短视频男人的影院| 在线观看永久免费视频网站| a级毛片在线免费看| 亚洲免费综合色在线视频| 亚洲AV无码久久| 国产91在线免费| ww4545四虎永久免费地址| 一级片在线免费看| 亚洲jjzzjjzz在线观看| 亚洲啪啪AV无码片| 国产又粗又猛又爽又黄的免费视频| 日本免费中文字幕| 日本永久免费a∨在线视频| 亚洲国产av美女网站| 亚洲阿v天堂在线| 国产小视频在线观看免费| 国产国产人免费视频成69堂| 国产乱妇高清无乱码免费| 亚洲av日韩综合一区二区三区| 亚洲国产精品免费视频| 亚洲av午夜成人片精品电影| 成人免费毛片内射美女-百度| 在线观看片免费人成视频无码| 国产成人综合亚洲绿色| 亚洲AV无码成人专区| 亚洲人成亚洲精品| 亚洲欧洲美洲无码精品VA| 国产精品亚洲αv天堂无码| 四虎AV永久在线精品免费观看| 毛片免费观看视频| 精品国产无限资源免费观看| 污污网站免费观看|