2010-08-02 77 views
3

我已经完成了开发我的应用程序,现在我想部署它..我应该对这个web.config文件做些什么改变,使其尽可能干净?..它的asp.net的MVC 1.0帮助清理asp.net mvc web.config文件

在此先感谢

<?xml version="1.0"?> 
    <!-- 
     Note: As an alternative to hand editing this file you can use the 
     web admin tool 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.comments usually located in 
     \Windows\Microsoft.Net\Framework\v2.x\Config 
    --> 
    <configuration> 
     <configSections> 
      <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
       <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
         <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/> 
         <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 
         <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 
         <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 
        </sectionGroup> 
       </sectionGroup> 
      </sectionGroup> 
     </configSections> 
     <appSettings/> 
     <connectionStrings> 
      <add name="ConnectionString" connectionString="Data Source=MyServer;Initial Catalog=MyBD;Persist Security Info=True;User ID=MyUser;Password=MyPwd;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/> 
     </connectionStrings> 
     <system.web> 
      <!-- 
       Set compilation debug="true" to insert debugging 
       symbols into the compiled page. Because this 
       affects performance, set this value to true only 
       during development. 
     --> 
      <compilation debug="false"> 
       <assemblies> 
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
        <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
        <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
        <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
        <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
       </assemblies> 
      </compilation> 
      <!-- 
       The <authentication> section enables configuration 
       of the security authentication mode used by 
       ASP.NET to identify an incoming user. 
     --> 
      <authentication mode="Forms"> 
       <forms loginUrl="~/Account/LogOn" timeout="2880"/> 
      </authentication> 
     <membership defaultProvider="CustomMembershipProvider"> 
      <providers> 
      <clear/> 
      <add name="CustomMembershipProvider" 
       type="MyProject.AspNet.MembershipProvider.CustomMembershipProvider" 
       connectionStringName="ConnectionString" 
       enablePasswordRetrieval="false" 
       enablePasswordReset="true" 
       requiresQuestionAndAnswer="false" 
       requiresUniqueEmail="false" 
       passwordFormat="Hashed" 
       maxInvalidPasswordAttempts="5" 
       minRequiredPasswordLength="6" 
       minRequiredNonalphanumericCharacters="0" 
       passwordAttemptWindow="10" 
       passwordStrengthRegularExpression="" 
       applicationName="/"/> 
      </providers> 
     </membership> 
     <profile> 
      <providers> 
      <clear/> 
      <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" applicationName="/"/> 
      </providers> 
     </profile> 
     <roleManager enabled="true" defaultProvider="CustomRoleProvider"> 
      <providers> 
      <clear /> 
      <add connectionStringName="ConnectionString" name="CustomRoleProvider" 
      type="MyProject.AspNet.RoleProvider.CustomRoleProvider" /> 
      </providers> 
     </roleManager> 
      <!-- 
       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" defaultRedirect="GenericErrorPage.htm"> 
       <error statusCode="403" redirect="NoAccess.htm" /> 
       <error statusCode="404" redirect="FileNotFound.htm" /> 
      </customErrors> 
     --> 
     <customErrors mode="Off" defaultRedirect="GenericErrorPage.htm"> 
      <error statusCode="403" redirect="NoAccess.htm" /> 
      <error statusCode="404" redirect="FileNotFound.htm" /> 
      <error statusCode="500" redirect="/Home/Error" /> 
     </customErrors> 
      <pages> 
       <controls> 
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       </controls> 
       <namespaces> 
        <add namespace="System.Web.Mvc"/> 
        <add namespace="System.Web.Mvc.Ajax"/> 
        <add namespace="System.Web.Mvc.Html"/> 
        <add namespace="System.Web.Routing"/> 
        <add namespace="System.Linq"/> 
        <add namespace="System.Collections.Generic"/> 
      <add namespace="xVal.Html"/> 
      <add namespace="Telerik.Web.Mvc.UI"/> 
       </namespaces> 
      </pages> 
      <httpHandlers> 
       <remove verb="*" path="*.asmx"/> 
       <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> 
       <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      </httpHandlers> 
      <httpModules> 
       <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      </httpModules> 
     </system.web> 
     <system.net> 
      <mailSettings> 
       <smtp from="[email protected]"> 
        <network host="127.0.0.1"/> 
       </smtp> 
      </mailSettings> 
     </system.net> 
     <system.codedom> 
      <compilers> 
       <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
        <providerOption name="CompilerVersion" value="v3.5"/> 
        <providerOption name="WarnAsError" value="false"/> 
       </compiler> 
       <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
        <providerOption name="CompilerVersion" value="v3.5"/> 
        <providerOption name="OptionInfer" value="true"/> 
        <providerOption name="WarnAsError" value="false"/> 
       </compiler> 
      </compilers> 
     </system.codedom> 
     <!-- 
      The system.webServer section is required for running ASP.NET AJAX under Internet 
      Information Services 7.0. It is not necessary for previous version of IIS. 
     --> 
     <system.webServer> 
      <validation validateIntegratedModeConfiguration="false"/> 
      <modules runAllManagedModulesForAllRequests="true"> 
       <remove name="ScriptModule"/> 
       <remove name="UrlRoutingModule"/> 
       <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      </modules> 
      <handlers> 
       <remove name="WebServiceHandlerFactory-Integrated"/> 
       <remove name="ScriptHandlerFactory"/> 
       <remove name="ScriptHandlerFactoryAppServices"/> 
       <remove name="ScriptResource"/> 
       <remove name="MvcHttpHandler"/> 
       <remove name="UrlRoutingHandler"/> 
       <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
      </handlers> 
     </system.webServer> 
    </configuration> 
+0

我总是从剥离评论开始。 – kbrimington 2010-08-02 21:08:10

回答

0
  1. 如果您靶向.NET 4 然后你就可以摆脱很多 这个东西的。这可能是 最容易创建一个全新的MVC 项目目标4.0和看看 默认web.config那里。
  2. 如果你的目标是.NET 3.5 在这里的一切看起来很漂亮 标准。我假设您在 应用程序中使用了 成员资格,角色,配置文件, 各种命名空间等。

    你也许可以,如果你不使用他们的 功能摆脱参考组件 (将System.Data.Linq,System.Xml.Linq的, 等)的一些 。如果您的应用没有任何WebForms页面 ,您可能也可能删除控制标记映射。

    如果要部署到IIS 6中,您可以 摆脱 <system.webServer>部分,但你 可能希望把它留在的情况下, 你曾经升级服务器。

+0

这只是在阅读http://weblogs.asp.net/scottgu/archive/2009/08/25/clean-web-config-files-vs-2010-and-net-4-0-series.aspx 我只是认为可能是一些非常讨厌的事情发生与我的web.config – ignaciofuentes 2010-08-03 03:54:59

+0

增加了一些澄清为不同版本的.NET – marcind 2010-08-03 07:34:38