1. ASP.NET開發寶典:添加配置文件Web.Config
添加配置文件Web Config
在Visual Studio 中創建網站後 會自動添加Web Config配置文件 當然 用戶也可以手動添加Web Config文件
手動添加Web Config文件的方法 在 解決方案資源管理器 窗口中 右擊網站名稱 在彈出的快捷菜單中選擇 添加新項 命令 打開 添加新項 對話框 選擇 Web配置文件 選項 單擊 添加 按鈕即可 如圖 所示
圖 添加配置文件Web Config
說明 在Visual Studio 開發環境中Web Config文件不需要手動添加 這里只是提供添加的方法
返回目錄 ASP NET開發寶典
編輯推薦
ASP NET開發培訓視頻教程
Microsoft NET框架程序設計視頻教程
ASP NET MVC 框架揭秘
lishixin/Article/program/net/201311/16013
2. webconfig配置怎麼修改
你可以在WebConfig里配置資料庫連接字元串:
<connectionStrings>
<add name="ConnString" connectionString="server=localhost;database=你的資料庫名稱;persist security info=True;User ID=資料庫用戶名;Password=資料庫密碼;timeout=540"/>
</connectionStrings>
關於這個問題,差不多就是這個樣子的了,你如果不明白,可以自己去後盾瞅瞅,我這些都是在後盾上學的,有空可以去看一下,就算不喜歡也沒關系啊,何樂而不為呢?
3. 2.6.1 Web.config包含整個站點的設置[4]
在連接字元串之後 其他設置都位於<system web>標記內 這些設置可以按照任意順序排列 下面首先討論Moles設置 這個值使得站點可以集中處理用戶所選擇的主題風格 而不需要在頁面中添加代碼 第 章討論主題風格 雖然這里沒有詳細討論HttpMole 但代碼的注釋是很到位的
<system web>
<Moles>
<add name= Page type= Wrox Web GlobalEvents ThemeMole />
</Moles>
接下來在System Web內的是編譯(pilation)值 如果將其設置為true(如下例所示) 則ASP NET 將把在編譯頁面期間發現的問題都輸出到該頁面上 這個功能在開發站點時很有用 但在部署站點之前應將其設置為false:
<system web>
<pilation debug= true >
</pilation>
Wrox United聲明了 個站點級別的安全設置 身份驗證 角色和配置文件 第 章和第 章將詳細討論這 個功能 下面顯示的Web confi *** 斷讓您預覽一下將要學習編寫的內容 注意這些設置是如何為用戶指定登錄頁面(Default aspx)並打開角色管理器(Role Manager)的 這些內容同樣也將在第 章和第 章中詳細討論 為了節省篇幅 下面的代碼沒有列出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> lishixin/Article/program/net/201311/15489
4. IIS伺服器與web.config配置優化指南
修改IIS最大工作進程數 a 請考慮以下幾點 每一個工作進程都會消耗系統資源和CPU佔用率 太多的工作進程會導致系統資源和CPU利用率的急劇消耗 每一個工作進程都具有自己的狀態數據 如果Web應用程序依賴於工作進程保存狀態數據 那麼可能不支持使用多個工作進程 成資源競爭 讓多個工作進程運行同一個應用程序會造成資源競爭 b 修改ISS最大工作進程數提高該應用程序池處理請求的性能 在IIS 的Web園(Web Garden)中 指定用於某個應用程序池的工作進程的數量就可以提高該應用程序池處理請求的性能 當伺服器的負載較小 不需要額外的工作進程時 IIS 在一定的時間後(默認 分鍾 可配置)自動縮減實際的工作進程數量 如果負載變大 需要額外的工作進程 IIS 再次增加工作進程數量 這一切操作都自動進行 不需要管理員干預 修改方法如下 修改伺服器 net framework的machine config的配置 目錄 C:WINDOWSMicrosoft NETFramework v CONFIGmachine config 將其中的「processModel」節點的「allowDefinition」值設置為「Everywhere」 修改伺服器中的iis最大工作進程數: 方法 右擊iis應用程序池 > 屬性 > 「性能」選項卡 > web園 > 最大工作進程數 注 經測試驗證 伺服器為 ( * )核 G內存時 設置為 性能最優 (PS: processModel 元素(ASP NET 設置架構) 元素配置用於伺服器(包括伺服器上的所有 ASP NET 應用程序)的處理模型 因此 processModel 設置只能放在 Machine config 文件中 而且不能被任何 Web config 文件中的設置重寫 ) 取消IIS的web訪問記錄 a 關閉IIS訪問記錄可以提升web性能 IIS 默認開啟對於web的IIS訪問記錄 當開啟記錄功能後 IIS會事無巨細地忠實記錄所有的IIS訪問記錄 這些記錄文件的內容是非常龐雜的 比如訪問時間 客戶端IP 從哪個鏈接訪問 Cookies等 另外還包括 Method(方法) UserAgent(用戶代理)等 這些記錄不但佔用大量的磁碟空間還大大地影響了web伺服器的性能 有人做過評測 停止IIS訪問記錄可以提升 %到 %的web性能 方法 打開IIS管理器 定位到具體的web站點 右鍵點擊選擇「屬性」 在「主目錄」選項卡下取消對「記錄訪問」的勾選即可 Web config配置優化(生產環境) 去除無用HttpMoles d 並不是所有的Moles都是必需的 去除不用的HttpMoles可以提高請求速度 asp net默認的HttpMoles管理請求的管線控制每一個請求 例如 SessionStateMole攔截每一個請求 分析session cookie 來載入HttpContext中的合適的session 但是並不是所有的Moles都是必需的 比如 如果你不用membership的話 就不用配置FormsAuthentication模塊 如果你不用windows身份驗證就不用配置WindowsAuthentication 這些模塊只是包含在管線裡面 為每一個請求執行一些並不是必須的代碼 默認的模塊定義在machine config中(在網站的web config中設置表示當前網站有效)($WINDOWS$Microsoft NETFramework$VERSION$CONFIG) 如果不需要這些管線的話 配置如下
代碼如下: <Moles> <! 去除不必要的節點 提高請求速度 > <remove name=OutputCache /> <remove name=Session /> <remove name=WindowsAuthentication /> <remove name=FormsAuthentication /> <remove name=PassportAuthentication /> <remove name=RoleManager /> <remove name=UrlAuthorization /> <remove name=FileAuthorization /> <remove name=AnonymousIdentification /> <remove name=Profile /> </Moles>
關閉頁面級無用機制 Web config中的<pages>節點配置全局定義頁特定設置 如配置文件范圍內的頁和控制項的 ASP NET 指令 默認enableViewState屬性為「true」 即開啟視圖 如果不使用這個機制就可以設置為「false」 默認autoEventWireup屬性為「true」 即開啟頁事件 如果不使用這個機制就可以設置為「false」 默認buffer屬性為「true」 即開啟 HTTP 響應緩沖 默認enableViewStateMac屬性為「false」 開啟對頁的視圖狀態運行計算機身份驗證檢查 (MAC) 以放置用戶篡改 如果設置為true 將會引起性能的降低 默認validateRequest默認為true 開啟驗證用戶輸入中有跨站點腳本攻擊和SQL注入式漏洞攻擊 如果出現匹配情況就會發 異常 將CustomError設置為非Off狀態 Web config中的<customErrors>節點用於定義一些自定義錯誤信息的信息 此節點有Mode和defaultRedirect兩個屬性 其中defaultRedirect屬性是一個可選屬性 表示應用程序發生錯誤時重定向到的默認URL 如果沒有指定該屬性則顯示一般性錯誤 Mode屬性是一個必選屬性 它有三個可能值 它們所代表的意義分別如下 Mode 說明 On 表示在本地和遠程用戶都會看到自定義錯誤信息 Off 禁用自定義錯誤信息 本地和遠程用戶都會看到詳細的錯誤信息 RemoteOnly 表示本地用戶將看到詳細錯誤信息 而遠程用戶將會看到自定義錯誤信息 這里有必要說明一下本地用戶和遠程用戶的概念 當我們訪問asp net應用程時所使用的機器和發布asp net應用程序所使用的機器為同一台機器時成為本地用戶 反之則稱之為遠程用戶 在開發調試階段為了便於查找錯誤Mode屬性建議設置為Off 而在部署階段應將Mode屬性設置為On或者RemoteOnly 以避免這些詳細的錯誤信息暴露了程序代碼細節從而引來黑客的入侵 配置如下
代碼如下: <customErrors mode=" On " defaultRedirect="Error "/>
禁用調試 Web config中的<pilation>節點配置 ASP NET 使用的所有編譯設置 默認的debug屬性為「true」 即允許調試 在開發階段這樣配置沒有問題 但正式部署上線後 這樣會影響支撐介面的性能 所以在程序編譯完成上線之後應將其設為「false」 配置如下
代碼如下: <pilation debug="false" />
連接並發配置 連接並發數限制是指對於同一個ip對同一個domain發起的最大連接數 其實在大多數微軟的產品或組件中都存在這個限制 一般這個數值是 / 個 也就是說在默認情況下 對於同一個ip訪問同一個domain同時最多有 個連接處於建立狀態 默認是 這個值太低了 這意味著每一個IP最多隻能有兩個請求到你的網站 這樣會造成請求擁堵 asp net中connectionManagement節點可以設置單個ip對同某個domain發起的最大連接數 配置如下
代碼如下: <system net> <connectionManagement> <add address="*" maxconnection=" " /> </connectionManagement> </system net>
address代表針對哪個domain maxconnection代表最大連接數 去掉頭信息中的ASP NET 版本標頭 enableVersonHeader 指定 ASP NET 是否應輸出版本標頭 使用該屬性來確定當前使用的 ASP NET 版本 對於生產環境 該屬性不是必需的 可以禁用 配置示例
lishixin/Article/program/net/201311/14321
5. 怎樣在web.config中配置這些參數
web.config
Web配置文件(*.config)編輯本段認識Web.config文件
Web.config文件是一個XML文本文件,它用來儲存 ASP.NET Web 應用程序的配置信息(如最常用的設置ASP.NET Web 應用程序的身份驗證方式),它可以出現在應用程序的每一個目錄中。當你通過VB.NET新建一個Web應用程序後,默認情況下會在根目錄自動創建一個默認的 Web.config文件,包括默認的配置設置,所有的子目錄都繼承它的配置設置。如果你想修改子目錄的配置設置,你可以在該子目錄下新建一個Web.config文件。它可以提供除從父目錄繼承的配置信息以外的配置信息,也可以重寫或修改父目錄中定義的設置。 在運行時對Web.config文件的修改不需要重啟服務就可以生效(註:<processModel> 節例外)。當然Web.config文件是可以擴展的。你可以自定義新配置參數並編寫配置節處理程序以對它們進行處理。編輯本段web.config配置文件
(默認的配置設置)以下所有的代碼都應該位於 <configuration> <system.web> 和 </system.web> </configuration> 之間,出於學習的目的下面的示例都省略了這段XML標記 1、<authentication> 節 作用:配置 ASP.NET 身份驗證支持(為Windows、Forms、PassPort、None四種)。該元素只能在計算機、站點或應用程序級別聲明。<authentication> 元素必需與</autherization> 節配合使用。 示例: 以下示例為基於窗體(Forms)的身份驗證配置站點,當沒有登陸的用戶訪問需要身份驗證的網頁,網頁自動跳轉到登陸網頁。 <authentication mode="Forms" > <forms loginUrl="logon.aspx" name=".FormsAuthCookie"/> </authentication> 其中元素loginUrl表示登陸網頁的名稱,name表示Cookie名稱 2、<authorization> 節 作用:控制對 URL 資源的客戶端訪問(如允許匿名用戶訪問)。此元素可以在任何級別(計算機、站點、應用程序、子目錄或頁)上聲明。必需與</authentication> 節配合使用。 示例:以下示例禁止匿名用戶的訪問 <authorization> <deny users="?"/> </authorization> 註:你可以使用user.identity.name來獲取已經過驗證的當前的用戶名;可以使用 web.Security.FormsAuthentication.RedirectFromLoginPage方法將已驗證的用戶重定向到用戶剛才請求的頁面.具體的實例請參考: Forms驗證:http://www.knowsky.com/343322.html 3、<compilation>節 作用:配置 ASP.NET 使用的所有編譯設置。默認的debug屬性為「False」.在程序編譯完成交付使用之後應將其設為"True"(Web.config文件中有詳細說明,此處省略示例) 4、<customErrors> 作用:為 ASP.NET 應用程序提供有關自定義錯誤信息的信息。它不適用於 XML Web services 中發生的錯誤。 示例:當發生錯誤時,將網頁跳轉到自定義的錯誤頁面。 <customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"> </customErrors> 其中元素defaultRedirect表示自定義的錯誤網頁的名稱。mode元素表示:對不在本地 Web 伺服器上運行的用戶顯示自定義(友好的)信息。 5、<httpRuntime>節 作用:配置 ASP.NET HTTP 運行庫設置。該節可以在計算機、站點、應用程序和子目錄級別聲明。 示例:控制用戶上傳文件最大為4M,最長時間為60秒,最多請求數為100 <httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100"/> 6、 <pages> 作用:標識特定於頁的配置設置(如是否啟用會話狀態、視圖狀態,是否檢測用戶的輸入等)。<pages>可以在計算機、站點、應用程序和子目錄級別聲明。 示例:不檢測用戶在瀏覽器輸入的內容中是否存在潛在的危險數據(註:該項默認是檢測,如果你使用了不檢測,一要對用戶的輸入進行編碼或驗證),在從客戶端回發頁時將檢查加密的視圖狀態,以驗證視圖狀態是否已在客戶端被篡改。(註:該項默認是不驗證) <pages buffer="true" enableViewStateMac="true" validateRequest="false"/> 7、<sessionState> 作用:為當前應用程序配置會話狀態設置(如設置是否啟用會話狀態,會話狀態保存位置)。 示例: <sessionState mode="InProc" cookieless="true" timeout="20"/> </sessionState> 註: mode="InProc"表示:在本地儲存會話狀態(你也可以選擇儲存在遠程伺服器或SAL伺服器中或不啟用會話狀態) cookieless="true"表示:如果用戶瀏覽器不支持Cookie時啟用會話狀態(默認為False) timeout="20"表示:會話可以處於空閑狀態的分鍾數 8、<trace> 作用:配置 ASP.NET 跟蹤服務,主要用來程序測試判斷哪裡出錯。 示例:以下為Web.config中的默認配置: <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" /> 註: enabled="false"表示不啟用跟蹤;requestLimit="10"表示指定在伺服器上存儲的跟蹤請求的數目 pageOutput="false"表示只能通過跟蹤實用工具訪問跟蹤輸出; traceMode="SortByTime"表示以處理跟蹤的順序來顯示跟蹤信息 localOnly="true" 表示跟蹤查看器 (trace.axd) 只用於宿主 Web 伺服器編輯本段自定義Web.config文件配置節
自定義Web.config文件配置節過程分為兩步。 一是在在配置文件頂部 <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 文件示例:獲取上面例子中建立的連接字元串。 vb.net Dim sconstr As String = System.Configuration.ConfigurationManager.AppSettings("ConnectionString") c# ConnectionString string=System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];編輯本段創建Web.config文件
1.在「解決方案資源管理器」中,單擊「刷新」圖標以確認應用程序還沒有 Web.config 文件。 如果已使用網站管理工具或某些其他方式來配置應用程序,則可能已自動創建了 Web.config 文件。單擊「刷新」更新文件列表。 2.在「解決方案資源管理器」中,右擊網站名稱,然後單擊「添加新項」。 3.在「模板」窗口中,單擊「Web 配置文件」。 「名稱」文本框中的文件名應為 Web.config。可以為該文件提供其他名稱,不過這是默認名稱。.config 文件擴展名可防止 ASP.NET 下載相應文件。 4.單擊「添加」創建該文件,然後將其打開進行編輯。 該文件包含本主題後面「示例」部分中顯示的代碼,並具有一些初始默認值。應用程序從 %SystemRoot%\Microsoft.NET\Framework\<版本>\CONFIG 目錄下的 Machine.config 和 Web.config 文件繼承所有配置設置,但在此處看不到這些默認設置。如果要重寫繼承的默認設置或添加 httpHandlers 元素(ASP.NET 設置架構) 等集合元素,則只需創建應用程序級別和目錄級別的 Web.config 文件。 若要查看當前應用程序的所有配置設置,可以運行主題如何:以編程方式查看繼承的配置設置和本地配置設置中包含的代碼。也可以查看 %SystemRoot%\Microsoft.NET\Framework\<版本>\CONFIG 目錄下的 Machine.config.comments 或 Web.config.comments 文件(這兩個文件也包含有用的注釋),但這兩個文件將不會包含所有運行時設置,請參見如何:以編程方式查看繼承的配置設置和本地配置設置。 5.如果更改了 Web.config 文件,則保存該文件。 保存 Web.config 文件會重新啟動應用程序。也可以選擇使用單個節元素的 configSource 屬性指向某個輔助配置文件,更改輔助配置文件不會導致應用程序重新啟動。有關更多信息,請參見節元素所繼承的常規屬性中的 configSource。
6. 2.6.1 Web.config包含整個站點的設置[5]
下一個要查看的部分與錯誤處理有關 錯誤處理能夠影響站點的日常運行 第 章將詳細討論錯誤處理 但這里簡單介紹一下 可以設置ASP NET在出現問題時將用戶重定向到一個定製的錯誤頁面 出現錯誤時所顯示的頁面由Web config文件中的defaultRedirect設置指定 如下所示
<!
The <customErrors> section enables configuration of what to do if/when an unhandled
error occurs ring the execution of a request Specifically it enables developers
to configure error pages to be displayed in place of a error stack trace
>
<customErrors mode= RemoteOnly >
<error statusCode= redirect= missingPage aspx />
</customErrors>
因此 例如 如果資料庫伺服器因為掉電而關閉 站點的用戶並不需要知道這個詳細信息 但他們希望問題盡快解決 所以向他們顯示 對不起 站點出現一個問題 我們正努力排查 服務將很快恢復正常 這樣的信息就足夠了 而本地管理員則需要知道出了什麼問題 以便對其進行處理並盡快恢復運行!這個示例中的RemoteOnly屬性表示遠程用戶看到的是友好頁面 而管理員看到的則是錯誤的詳細信息
System Web的最後一部分設置指定包含站點地圖的文件 站點地圖是所有頁面的一個索引 同時它表明各個頁面之間的關系 ASP NET 還需要指定用於站點地圖的提供商或閱讀工具
<!
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= Culture=neutral PublicKeyToken=b f f f d a a
siteMapFile= web sitemap securityTrimmingEnabled= true />
</providers>
</siteMap>
lishixin/Article/program/net/201311/15490
7. 如何:指定 Web.config 設置
通過 Web 應用程序的模型,可以獲得為 Web.config 指定的默認值。其他設置可以通過開發計算機上的 Machine.config 配置文件收集得到。該計算機上安裝有分布式系統設計器。在設置和約束編輯器中,Web.config 設置位於「應用程序設置」->「Web 應用程序」->「配置」下。查看Web.config 設置右擊應用程序關系圖中的 ASP.NET Web 應用程序或 ASP.NET Web 服務,然後選擇「設置和約束」。在設置和約束編輯器中,定位到「應用程序設置」下列出的「配置」節點,然後定位到「Web 應用程序」。最初,只有幾個 Web.config 節和設置顯示在「配置」節點下。若要添加其他節,需要添加相應的資源。若要添加其他的 Web.config 資源,右擊「配置」節點,然後選擇「添加資源」。從顯示的列表中選擇一項資源。該列表包括以下內容:onsSectionGroup說明:添加必需的子資源之前,某些 Web.config 資源不包含任何設置。例如,「NetSectionGroup」資源不包含自身的設置,但是,可以添加確實包含設置的「AuthenticationMolesSection」、「ConnectionManagementSection」、「DefaultProxySection」、「RequestCachingSection」、「SettingsSection」和「WebRequestMolesSection」資源。查看與設置和約束編輯器右窗格中的每項資源關聯的設置。修改Web.config 設置添加包含要修改的設置的資源。在設置和約束編輯器的右窗格中,對設置進行編輯。有關更多信息,請參見應用設置。說明:此外,還可以直接在 Web.config 文件中編輯設置。Web.config 文件與設置和約束編輯器彼此之間始終保持同步。按照下列方式生成 Web.config 文件之前,該文件不會顯示在解決方案資源管理器中。在解決方案資源管理器中生成 Web.config 文件實現要顯示 Web.config 文件的 Web 應用程序。有關更多信息,請參見如何:實現應用程序關系圖上的應用程序。在設置和約束編輯器中,修改應用程序的「配置」節設置,或向配置節添加新的資源。安全性分布式系統設計器不會將某些設置存儲在 .sdm 文件中。但是,實現該應用程序之後,連接字元串之類的設置會出現在 .config 文件中。對於已實現的所有 Web 應用程序來說,下面的設置將以未加密的純文本形式顯示在 Web.config 文件中:ConnectionStrings - 包含在「ConnectionStringsSection」資源中。網路 - 包含在「SmtpSection」資源中。密碼 - 包含在「IdentitySection」和「ProcessModelSection」資源中。用戶 - 包含在「」資源中。有關更多信息,請參見實現應用程序的注意事項。
8. 如何設置或者獲取Webconfig裡面的屬性
1.首先在webconfig中添加屬性值
<appSettings>
<add key="CerPerPage" value="4"/>
</appSettings>
2.在頁面的cs文件下或者類文件下使用代碼
string str= System.Configuration.ConfigurationManager.AppSettings["CerPerPage"].ToString();
9. 網上下的ASP源碼,新手不知道如何配置WEB.CONFIG這個文件
這個web.config文件告訴你配置資料庫,也許你資料庫都沒安裝吧,還有404頁面,首頁之類的,你先放在開發工具裡面調試下,當然不排除有些代碼是壞的,沒處理好可以再找額另外修改