2011-03-31 4 views
0

레거시 응용 프로그램에서 ASP.NET 2.0 C#으로 코딩. 데이터베이스는ASP.NET의 레거시 응용 프로그램을 사용하는 중에 web.config가 의심됩니다.

내가 그런 <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> 

그리고 마지막으로,

MySQL의에
<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> 

나는 이들이 모두 필요하지 않다고 생각합니다. 그들은 현재 전혀 필요하지 않습니까? 내가 정말로 알고 싶은 것은 내가 그들을 삭제하면 무엇이 망가 졌는지 여부입니다.

또한 데이터베이스 및 인증 모드를 창처럼 내 응용 프로그램이 MySQL을 사용하는 경우 아래의 코드 조각

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

ASP.NET 2.0

관련이 있는지 알고 싶습니다.

답변

2

xhtml 적합성 설정은 전환을 엄격으로 변경합니다. 주요 변경 사항은 name 속성이 양식 요소에서 제거된다는 것입니다. Source

지정된 컴파일러는 2.0이므로 실제로 컴파일러가 변경되지는 않습니다. 그러나 컴파일은 디버그 플래그와 디버그 플래그를 모두 정의합니다. 이것들은 # if 문과 함께 사용할 수 있습니다. 두 가지 모두 프로덕션 환경에서 사용하는 것처럼 제거해야합니다. 컴파일러 설정은 system.web가 아니라 system.codeDom 아래에 있어야합니다. Source

귀하의 브라우저 캡은 App_Browsers 폴더로 이동할 수 있어야합니까? 당신은 기본적으로 다른 브라우저의 기능을 정의하고, 브라우저의 자바 스크립트 나 프레임과 같은 세부 정보를 지원하는지 확인하는 코드가 있습니다. Noscript와 같은 브라우저 애드온이 탐지를 무효화 할 것이기 때문에 이것은 큰 성과를 거두지 못합니다.

귀하의 sessionState는 InProc로 주장합니다. 즉, iis 프로세스에 의해 처리되는 것을 의미합니다. 연결 문자열은이 모드에서 사용되지 않습니다 (StateServer 또는 SqlServer가 필요합니다). Cookieless = false가 기본 모드이지만 세션 시간 초과를 100 (기본값 20에서)으로 늘렸습니다. Source