Есть ли способ не использовать традиционные файлы .config для ASP.NET? - PullRequest
2 голосов
/ 27 июля 2010

Я нахожу Web.config xml довольно многословным.

Известны ли вам какие-либо инициативы, направленные на то, чтобы включить более чистые файлы конфигурации, используя файлы YAML или .rb, что-нибудь, что могло бы быть хуже?

РЕДАКТИРОВАТЬ : Я уже знаю, что веб-инфраструктура FubuMVC, построенная на основе ASP.NET, пытается значительно сократить объем XML, который необходимо вставить в этот файл для правильной работы.Но это все еще довольно уродливо, я нахожу это ненужным:

<?xml version="1.0"?>

<configuration>

  <appSettings/>
  <connectionStrings/>

  <system.web>
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <authentication mode="None" />
    <customErrors mode="RemoteOnly"/>
    <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>
    </pages>
    <httpModules>
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </httpModules>
    <httpHandlers>
    </httpHandlers>
  </system.web>
  <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>
    </compilers>
  </system.codedom>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="UrlRoutingModule" />
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </modules>
    <handlers>
      <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>

Это минимальное количество XML, которое вам нужно, чтобы все заработало, действительно плохо.Многие вышеперечисленные вещи могут быть просто по умолчанию.

Ответы [ 2 ]

6 голосов
/ 28 июля 2010

Я бы порекомендовал оставить как можно больше Web.config и разбить ваши собственные настройки конфигурации на отдельные файлы.

, например

  <connectionStrings configSource="Configs\ConnectionStrings.config"/>
  <appSettings configSource="Configs\AppSettings.config"/>

Вместо того, чтобы строки подключения и настройки приложения находились внутри Web.config.

1 голос
/ 28 июля 2010

Минимальный web.config может быть намного меньше, чем этот. Начиная с .NET 4.0, наименьшее составляет:

<?xml version="1.0"?> 
<configuration>
  <system.web> 
     <compilation targetFramework="4.0" /> 
  </system.web> 
</configuration>

Источник: http://msdn.microsoft.com/en-us/library/s57a598e.aspx

...