2011-03-31 30 views
0

在舊版應用程序中使用ASP.NET 2.0 C#進行編碼。該數據庫是MySQL的在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> 

而在去年,

<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數據庫和身份驗證模式是windows下面給出的片斷是否是相關的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"/> 

回答

2

xhtmlConformance設置將「過渡」更改爲「嚴格」。主要的變化是從表單元素中刪除了name屬性。 Source

指定的編譯器是2.0,所以不會有任何實際的編譯器更改。但是,編譯定義了編譯器標誌調試和跟蹤。這些可以和#if語句一起使用。在生產環境中都應該刪除,就像你將要使用的一樣。請注意,編譯器設置應該位於system.codeDom下,而不是system.web。 Source

您的瀏覽器的大文件可以(應該?)移入您的App_Browsers文件夾。您基本上定義了不同瀏覽器的功能,並且您的代碼中的某處會檢查您的瀏覽器是否支持特定的詳細信息,如javascript或框架。這會失敗,因爲像Noscript這樣的瀏覽器插件會使檢測無效。

你的sessionState聲稱是InProc,意思是它由iis進程處理。在此模式下使用的連接字符串aint(您需要StateServer或SqlServer)。 Cookieless = false是默認模式,但您已將會話超時時間增加到100(默認爲20)。 Source

相關問題