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页面,首页之类的,你先放在开发工具里面调试下,当然不排除有些代码是坏的,没处理好可以再找额另外修改