ما هي مناطق web.config التي يمكنني حذفها بأمان؟

StackOverflow https://stackoverflow.com/questions/267369

  •  06-07-2019
  •  | 
  •  

سؤال

عند بدء مشروع ويب جديد، أشعر بالقلق دائمًا بشأن إزالة أجزاء من web.config.يبدو أن هناك إدخالات أكثر من أي وقت مضى مع Net 3.5 SP1.

ما هي أجزاء ملف .config التي قمت بحذفها في السيناريوهات التالية:

  • خدمة ويب WCF، لا يوجد دعم لجافا سكريبت
  • موقع MVC بسيط

تحرير هل يمكن لشخص ما توثيق قائمة أساسية من الأشياء المتبقية وإخراجها من الويب.

هل كانت مفيدة؟

المحلول 3

إليك ملف Web.config الذي تم تجريده والذي أستخدمه لخدمة WCF البسيطة

<?xml version="1.0"?>
<configuration>
    <system.web>
        <compilation debug="true">
          <assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
          </assemblies>
        </compilation>
        <authentication mode="Windows" />
        <customErrors mode="RemoteOnly" defaultRedirect="error.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
    </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.serviceModel>
    <services>
      <service behaviorConfiguration="Service.ServiceBehavior" name="Service.Service">
        <endpoint address="" binding="basicHttpBinding" contract="Service.IService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="Service.ServiceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

لقد قمت بإزالة الكثير من الإضافات وخاصة وحدات البرامج النصية التي لن أطلبها

نصائح أخرى

عادةً ما أقوم بحذف العناصر من web.config حتى تتعطل الأمور - وهي عملية تجريبية وخطأ.

إنه لأمر مدهش مقدار web.config الذي يمكنك إزالته دون التأثير على أي شيء.لقد أصبح الأمر فظًا جدًا في .NET 3.5.

أتفق إلى حد كبير مع Jeff على أنها عملية تجريبية وخطأ فيما يتعلق بما يمكنك إزالته من الملف.

فيما يتعلق بتعديل وقت التشغيل ومسار http، غالبًا ما تكون عملية إضافة أشياء إلى web.config، من أجل إيقاف تشغيل الأشياء.

يضيف التكوين الجاهز الكثير من الوحدات النمطية إلى المسار، اعتمادًا على ما تفعله، قد لا تحتاج إلى نصفها.

لقد صادفت بعض المقالات حول هذا الأمر على MSDN، وكذلك هذه المقالة http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx, ، بواسطة Omar من PageFlakes، والذي كان الوحيد الذي تمكنت من العثور عليه في إشاراتي المرجعية (سيئة التنظيم)، والتي تعد نقطة بداية جيدة لتحسين وقت التشغيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top