web.config сомневается при работе с устаревшим приложением в ASP.NET

Кодирование с помощью ASP.NET 2.0 C# в унаследованном приложении. База данных находится в MySQL

Я хотел бы знать, что-нибудь ломается, если я удаляю следующие строки из моего кода

Первый <xhtmlConformance mode="Strict"/>

Затем,

  <compilers>
      <compiler language="c#" 
              type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" 
              extension=".cs" 
              compilerOptions="/d:DEBUG;trACE"/>
  </compilers>

И последнее,

    <browserCaps>
        <case match="^Mozilla/5\.0 \([^)]*\) (Gecko/[-\d]+)(?'VendorProductToken' (?'type'[^/\d]*)([\d]*)/(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*)))?">
            browser=Gecko
            <filter>
                <case match="(Gecko/[-\d]+)(?'VendorProductToken' (?'type'[^/\d]*)([\d]*)/(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*)))">
                    type=${type}
                </case>
                <case>
                    <!-- plain Mozilla if no VendorProductToken found -->
                    type=Mozilla
                </case>
            </filter>
            frames=true
            tables=true
            cookies=true
            javascript=true
            javaapplets=true
            ecmascriptversion=1.5
            w3cdomversion=1.0
            css1=true
            css2=true
            xml=true
            tagwriter=System.Web.UI.HtmlTextWriter
            <case match="rv:(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))">
                version=${version}
                majorversion=0${major}
                minorversion=0${minor}
                <case match="^b" with="${letters}">
                    beta=true
                </case>
            </case>
        </case>
        <!-- AppleWebKit Based Browsers (Safari...) //-->
        <case match="AppleWebKit/(?'version'(?'major'\d?)(?'minor'\d{2})(?'letters'\w*)?)">
            browser=AppleWebKit
            version=${version}
            majorversion=0${major}
            minorversion=0.${minor}
            frames=true
            tables=true
            cookies=true
            javascript=true
            javaapplets=true
            ecmascriptversion=1.5
            w3cdomversion=1.0
            css1=true
            css2=true
            xml=true
            tagwriter=System.Web.UI.HtmlTextWriter
            <case match="AppleWebKit/(?'version'(?'major'\d)(?'minor'\d+)(?'letters'\w*))(.* )?(?'type'[^/\d]*)/.*( |$)">
                type=${type}
            </case>
        </case>
        <!-- Konqueror //-->
        <case match=".+[K|k]onqueror/(?'version'(?'major'\d+)(?'minor'(\.[\d])*)(?'letters'[^;]*));\s+(?'platform'[^;\)]*)(;|\))">
            browser=Konqueror
            version=${version}
            majorversion=0${major}
            minorversion=0${minor}
            platform=${platform}
            type=Konqueror
            frames=true
            tables=true
            cookies=true
            javascript=true
            javaapplets=true
            ecmascriptversion=1.5
            w3cdomversion=1.0
            css1=true
            css2=true
            xml=true
            tagwriter=System.Web.UI.HtmlTextWriter
        </case>
        <!-- Opera //-->
        <case match="Opera[ /](?'version'(?'major'\d+)(?'minor'\.(?'minorint'\d+))(?'letters'\w*))">
            <filter match="[7-9]" with="${major}">
                tagwriter=System.Web.UI.HtmlTextWriter
            </filter>
            <filter>
                <case match="7" with="${major}">
                    <filter>
                        <case match="[5-9]" with="${minorint}">
                            ecmascriptversion=1.5
                        </case>
                        <case>
                            ecmascriptversion=1.4
                        </case>
                    </filter>
                </case>
                <case match="[8-9]" with="${major}">
                    ecmascriptversion=1.5
                </case>
            </filter>
        </case>
    </browserCaps>

Я считаю, что они все не нужны. Нужны ли они вообще в настоящее время? То, что я действительно хотел бы знать, является ли что-нибудь сломанным, если я удаляю их.

Я также хотел бы знать, относится ли приведенный ниже фрагмент к ASP.NET 2.0

  <sessionState mode="InProc" 
              stateConnectionString="tcpip=127.0.0.1:42424" 
              sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" 
              cookieless="false" 
              timeout="100"/>

когда мое приложение использует MySQL в качестве базы данных и режим аутентификации Windows.

1 ответ

Параметр xhtmlConformance меняет переходный режим на строгий. Основное изменение заключается в том, что атрибут name удаляется из элементов формы. Источник

Указанный компилятор равен 2.0, поэтому фактических изменений компилятора не будет. Однако компиляция определяет как отладочные флаги, так и трассировку. Их можно использовать с #if-операторами. Оба должны быть удалены в производственной среде, так же, как вы будете использовать. Обратите внимание, что настройки компилятора должны быть в system.codeDom, а не в system.web. Источник

Ваш browserCaps может (должен?) Быть перемещен в вашу папку App_Browsers. Вы в основном определили возможности различных браузеров, и где-то в вашем коде есть проверки, поддерживает ли ваш браузер определенные детали, такие как JavaScript или фреймы. Это не удастся, поскольку надстройки браузера, такие как Noscript, сделают обнаружение недействительным.

Ваш sessionState называется InProc, что означает, что он обрабатывается процессом iis. Строки подключения не используются в этом режиме (для этого вам нужен StateServer или SqlServer). Cookieless=false - это режим по умолчанию, но вы увеличили время ожидания сеанса до 100 (по умолчанию 20). Источник

Другие вопросы по тегам