<address id="xpjh9"><listing id="xpjh9"><meter id="xpjh9"></meter></listing></address>

<address id="xpjh9"><address id="xpjh9"><listing id="xpjh9"></listing></address></address>
<noframes id="xpjh9">
<noframes id="xpjh9">

<address id="xpjh9"><address id="xpjh9"><listing id="xpjh9"></listing></address></address>
    <form id="xpjh9"></form><address id="xpjh9"><listing id="xpjh9"><menuitem id="xpjh9"></menuitem></listing></address>

      <noframes id="xpjh9">
      VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
      SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
      當前位置:
      首頁 > 網站開發 > ASPnet >
      • asp.net教程之Web.config包含整個站點的設置

      • 2015-01-20 23:09 來源:未知

      Web.config包含整個站點的設置(相關asp.net教程)

      Web.config包含用于整個站點的值。它是一個XML文件,位于根目錄下,其節點主要包含3個方面的信息:
      ●       應用程序配置,用于設置在開發階段或部署之后可以使用的功能。
      ●       連接字符串,用于從數據源讀取數據或向數據源寫入數據時連接數據源。
      ●       System.Web和System.Net設置,包含其他所有信息。
      System.Web設置又可以分為很多子類型,包括(WroxUnited沒有全部用到)如下幾種:
      ●       HTTP Module,將頁面指向其他頁面以便執行代碼
      ●       調試例程,在編譯時應該啟動這些例程
      ●       身份驗證技術
      ●       角色管理器,打開或者關閉
      ●       匿名識別,允許或拒絕
      ●       錯誤處理設置
      ●       SiteMap文件數據,用于導航和菜單
      ●       Profile數據,用于標識用戶
      ●       針對Simplified Mail Transfer Protocol(SMTP,簡單郵件傳輸協議)的電子郵件設置(在WroxUnited中沒有用到)
      ●       命名空間的定義,標識對象在更大的對象內部處于什么位置(在WroxUnited中沒有用到)
      System.net只包含完成一個目標的設置,一組用于發送電子郵件的值。
      有兩種方式修改這個文件的內容;第一種是在VWD手動編輯該文件,幸運的是,這樣做并不是很復雜。另一種方式是使用ASP.NET Web Site Administration Tool,可以在VWD中啟動這個工具。在VWD的主菜單中選擇Website->ASP.NET Configuration。一系列的對話框使得開發人員可以設置很多值,VWD將根據這些值修改Web.config文件而不用直接打開它。
      下面關于Web.config文件結構的解釋是以Wrox United站點的Web.config文件為例,從其頂部開始向下查看各個部分。如果打開該文件,則可以看到它的結構(帶有開標記和閉標記,每個標記都有屬性,有些還包含了子節點)和其他XML文件的結構是一樣的。通過添加恰當的節點和屬性,可以設置應用程序級別的配置。包含在特殊字符串<!--和-->之間的文本被看作是注釋,可以添加注釋幫助其他用戶理解文件每個部分的用途。
      注意:
      在VWD創建Web.config文件時,它將在其中包含很多注釋,以便為每個部分的設置提供參考值。所有這些值包含在一個文本文件中,該文件位于C:\Windows\Microsoft.NET\
      Framework\v2.xxx\CONFIG\Web.config.comments。
      下面是Wrox United站點的Web.config文件的開始部分,如您在下載文件中所見。可以導入該文件以替換創建的站點中的默認Web.config文件:
      <?xml version="1.0"?>
      <!-- Note: As an alternative to hand editing this file you can use the web
      admintool to configure settings for your application. Use the Website->
      Asp.Net Configuration option in Visual Studio.A full list of settings and
      comments can be found in machine.config.commentsusually located in \Windows\
      Microsoft.Net\Frameworks\v2.x\Config -->
       
      <configuration xmlns="http://schemas.microsoft.com
      /.NetConfiguration/v2.0">
      所有新的Web.config文件中默認都添加了3行代碼。第一行包含了XML聲明,指出Web.config文件遵守XML標準。下一個區域是一個很長的注釋,提醒您可以使用管理工具而不是手動編輯代碼。最后一個需要提及的內容是文件的根節點;<configuration>節點將包含所有子節點,這些子節點包含了與存儲在站點中的內容相關的配置。
      下一部分包含一個客戶應用程序設置,在修改示例應用程序位于不同環境下的運行方式時這個設置很有用。<!--和-->之間的內容是VWD為程序員提供的注釋,不是實際設置的一部分。
      <!--
      Mode defines certain feature availability:
      Full: No restrictions
      Real: Runs as if a real site, without the view code and download links
      -->
      <appSettings>
      <add key="mode" value="Full" />
      </appSettings>
      下一部分,即連接字符串部分,包含了與數據源相關的信息。這個字符串通常包含了身份驗證信息,開發人員可以使用這個信息將代碼與保存在數據庫中的數據連接起來。第7章將詳細討論連接字符串。目前只需注意到在連接字符串部分可以有一個或多個添加字符串的標記:
      <!--
      define the connection string to the database
      -->
      <connectionStrings>
      <add name="WroxUnited"
      connectionString="Data Source=.\SQLEXPRESS;
      AttachDbFilename=|DataDirectory|WroxUnited.mdf;
      Integrated Security=True;User Instance=True"/>
      </connectionStrings>
      注意connectionString屬性的字符串值有換行,這是由于頁面寬度所限。在實際情況下,這些代碼應該位于同一行上。
      在連接字符串之后,其他設置都位于<system.web>標記內。這些設置可以按照任意順序排列;下面首先討論httpModules設置。這個值使得站點可以集中處理用戶所選擇的主題風格,而不需要在頁面中添加代碼。第5章討論主題風格,雖然這里沒有詳細討論HttpModule,但代碼的注釋是很到位的。
      <system.web>
      <httpModules>
      <add name="Page" type="Wrox.Web.GlobalEvents.ThemeModule" />
      </httpModules>
      接下來在System.Web內的是編譯(compilation)值。如果將其設置為true(如下例所示),則ASP.NET 2.0將把在編譯頁面期間發現的問題都輸出到該頁面上。這個功能在開發站點時很有用,但在部署站點之前應將其設置為false:
      <system.web>
      <compilation debug="true">
      </compilation>
      Wrox United聲明了3個站點級別的安全設置:身份驗證、角色和配置文件。第4章和第11章將詳細討論這3個功能。下面顯示的Web.config片斷讓您預覽一下將要學習編寫的內容。注意這些設置是如何為用戶指定登錄頁面(Default.aspx)并打開角色管理器(Role Manager)的。這些內容同樣也將在第4章和第11章中詳細討論。為了節省篇幅,下面的代碼沒有列出VWD為程序員提供的注釋。另外,在WroxUnited站點的web.config文件的第二部分和第三部分設置之間有一個中斷,其中插入的是其他設置。
      <authentication mode="Forms">
      <forms loginUrl="Default.aspx"></forms>
      </authentication>
       
      <roleManager enabled="true"/>
      <anonymousIdentification enabled="true"/>
       
      ...
       
      <profile enabled="true">
      <properties>
      <add name="MemberName"/>
      <add name="Name"/>
      ...
      <add name="Cart" serializeAs="Binary" type="
      Wrox.Commerce.ShoppingCart"
      allowAnonymous="true"/>
      </properties>
      </profile>
      下一個要查看的部分與錯誤處理有關,錯誤處理能夠影響站點的日常運行。第15章將詳細討論錯誤處理,但這里簡單介紹一下,可以設置ASP.NET在出現問題時將用戶重定向到一個定制的錯誤頁面。出現錯誤時所顯示的頁面由Web.config文件中的defaultRedirect設置指定,如下所示:
      <!-- The <customErrors> section enables configuration of what to do if/when
      an
      unhandled error occurs during the execution of a request. Specifically, it
      enables developers to configure html error pages to be displayed in place
      of a error
      stack trace. -->
       
      <customErrors mode="RemoteOnly">
      <error statusCode="404" redirect="missingPage.aspx"/>
      </customErrors>
      因此,例如,如果數據庫服務器因為掉電而關閉,站點的用戶并不需要知道這個詳細信息,但他們希望問題盡快解決,所以向他們顯示“對不起,站點出現一個問題—— 我們正努力排查。服務將很快恢復正常”這樣的信息就足夠了。而本地管理員則需要知道出了什么問題,以便對其進行處理并盡快恢復運行!這個示例中的RemoteOnly屬性表示遠程用戶看到的是友好頁面,而管理員看到的則是錯誤的詳細信息。
      System.Web的最后一部分設置指定包含站點地圖的文件,站點地圖是所有頁面的一個索引,同時它表明各個頁面之間的關系。ASP.NET 2.0還需要指定用于站點地圖的提供商或閱讀工具。
      <!-- Redefine the Site Map Provider, to add the security trimming
      attribute,
      which is off by default -->
      <siteMap defaultProvider="AspXmlSiteMapProvider" enabled="true">
      <providers>
      <clear/>
      <add name="AspXmlSiteMapProvider"
      type="System.Web.XmlSiteMapProvider,
      System.Web,
      Version=2.0.3600.0,
      Culture=neutral,
      PublicKeyToken=b03f5f7f11d50a3a"
      siteMapFile="web.sitemap"
      securityTrimmingEnabled="true"/>
      </providers>
      </siteMap>
      最后一組設置位于system.net內。雖然在WroxUnited應用程序中沒有顯式用到這些設置,但可以使用它們在用戶忘記口令并請求通過電子郵件將口令發送給用戶本人的時候發送自動產生的電子郵件。無論電子郵件是怎么產生的,開發人員必須以如下方式在Web.config中聲明SMTP(Simplified Mail Transfer Protocol,簡單郵件傳輸協議):
      <system.net>
      <mailSettings>
      <!-- these settings define the mail server settings from: the user name
      from which the email is sent - this is the application that is sending
      the message host:the name of your mail server userName: the name the
      application will use to loginto the mail server password: the password
      for the above user name
      -->
      <smtp from="admin@your-domain.com">
      <network host="your-mail-server-name"
      userName="your-user-name"
      password="your-password" />
      </smtp>
      </mailSettings>
      </system.net>
      最后,和所有的XML文件一樣,每個開標記都有一個對應的閉標記,所以該文件以如下代碼作為結束:
      </system.web>
      </configuration>
      Web.config包含了站點級別的設置,所有其他頁面都可以參考這些設置。這使得開發人員可以免于在每個需要這些設置的文件中重復設置相同的信息,而且只需在一個地方進行修改。
      在本書的后續部分,將為站點的頁面添加更多的功能,包括添加處理各種事件的代碼,每個頁面都會產生這些事件。但是,與開發人員不愿意在每個頁面中指定相同的設置一樣,如果需要使多個頁面具有相同的行為,那就需要找到一種共享代碼的方式。在Web.config中沒有可執行的代碼—— 因此需要另一個站點級別的文件—— Global.asax文件。
      相關教程
      江苏快3 吐鲁番 | 仁怀 | 嘉善 | 梅州 | 仁怀 | 遂宁 | 池州 | 襄阳 | 雄安新区 | 景德镇 | 浙江杭州 | 宜春 | 阿拉尔 | 广元 | 沧州 | 如东 | 贵港 | 定西 | 玉林 | 山南 | 汕尾 | 清徐 | 库尔勒 | 汉中 | 瑞安 | 阜阳 | 巴彦淖尔市 | 塔城 | 广饶 | 曲靖 | 红河 | 常州 | 燕郊 | 乌海 | 晋中 | 仁寿 | 镇江 | 沧州 | 十堰 | 蓬莱 | 慈溪 | 青海西宁 | 巴彦淖尔市 | 建湖 | 资阳 | 瓦房店 | 梧州 | 丹东 | 张家界 | 承德 | 锦州 | 云南昆明 | 石嘴山 | 公主岭 | 海拉尔 | 定安 | 资阳 | 达州 | 阜阳 | 锦州 | 陕西西安 | 邹城 | 红河 | 伊犁 | 洛阳 | 靖江 | 蓬莱 | 上饶 | 南通 | 海宁 | 金昌 | 灌云 | 桐乡 | 济南 | 铁岭 | 大理 | 泰州 | 朔州 | 灵宝 | 慈溪 | 澳门澳门 | 钦州 | 和田 | 通化 | 淮北 | 东方 | 大理 | 茂名 | 焦作 | 铜陵 | 忻州 | 广安 | 天长 | 诸暨 | 仁怀 | 武威 | 海东 | 垦利 | 吴忠 | 梧州 | 天水 | 单县 | 五家渠 | 临汾 | 阳江 | 惠东 | 文山 | 南通 | 白沙 | 酒泉 | 喀什 | 张家口 | 清徐 |