熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET中App

2022-06-13   來源: .NET編程 
Bin文件夾
  Bin文件夾包含應用程序所需的用於控件組件或者需要引用的任何其他代碼的可部署程
  序集該目錄中存在的任何dll文 件將自動地鏈接到應用程序
   App_Browser文件夾
  該可選的文件夾包含browser文件browser文件描述浏覽器(不管是移動設備浏覽器
  是台式機浏覽器)的特 征和功能
   App_Code文件夾
  App_Code文件夾正好在Web應用程序根目錄下其存儲所有應當作為應用程序的一部分動態
  編譯的類文件這些類文件自 動鏈接到應用程序而不需要在頁面中添加任何顯式指令或
  聲明來創建依賴性App_Code文件夾中放置的類文件可以包含任何可識別的ASPNET組件
  ——自定義控件輔助類build提供程序業務類自定義提供程序HTTP處理程序等
  注意 在開發時對App_Code文件夾的更改會導致整個應用程序重新編譯對於大型
  項目這可能不受歡迎而且很耗時為此鼓勵大家將代碼進行模塊化處理 到不同的類
  庫中按邏輯上相關的類集合進行組織應用程序專用的輔助類大多應當放置在App_Code文
  件夾中
  App_Code文件夾中存放的所有類文件應當使用相同的語言如果類文件使用兩種或多種語言
  編寫則必須創建特定語言的子目錄以包含用每種語言編寫的類一旦根據語言組織這些
  類文件就要在nfig文件中為每個子目錄添加一個設置
  <compilation>
  <codeSubDirectories>
  <add directoryName=VBFolder />
  </codeSubDirectories>
  </compilation>
  重要的是特定語言的子目錄應在nfig文件中注冊否則不管它們屬於哪個文件夾
  App_Code文件夾下 的所有文件將被編譯成一個單獨的程序集上述配置腳本描述了這麼
  一種情況即所有的C#文件都放在App_Code文件夾的根目錄下而把幾個 Visual Basic
  NET類文件移入VBFolder目錄中如果<codeSubDirectories>節中提到的目錄不存在
  會收到一個編譯錯誤提 示
  App_Code根文件夾中的文件被編譯成App_Code_xxxdll程序集其中xxx是隨機生成的字符
  序列一個 給定子目錄中的文件將被編譯成一個名為App_SubCode_xxx_yyydll的動態創
  建的程序集其中xxx指示子目錄的名稱而yyy是一個 隨機字符序列只有在應用程序根
  目錄中的nfig文件中進行了設置<codeSubDirectories>節才有效
  在App_Code目錄或任何其他子目錄中放置一個assemblyinfocs文件可以創建一個強命名
  的程序集顯然如果該文件夾包含Visual Basic NET文件那麼將使用
  assemblyinfovb文件程序集配置文件可以引用一個snk文件來保存強名稱的密鑰
  注意 給一個程序集設置一個強名稱首先必須獲得一個公開/私有密鑰對通過
  使用強名稱(Strong Name)工具(snexe)可以獲得這樣一個密鑰對強名稱工具是我們可
  以在NET Framework的安裝路徑中發現的SDK binary之一密鑰對文件通常有一個snk擴
  展名可以將該文件保存到一個應用程序文件夾中並在assemblyinfocs文件中引用它
  如下所示
  [assembly: AssemblyKeyFileAttribute(@yourKeyPairsnk)]
  注意Visual Basic NET是在包含Visual Studio Solution的目錄中尋找密鑰文件
  而C#編譯器則在包含該binary的目錄中尋找密鑰文件據此可知用此屬性調整我們使用的
  路徑或者把密鑰文件放在合適的文件夾中
  在隨後發生的任何重新生成中程序集的名稱將發生變化同時老的AppDomain請求一結
  束就刪除老的程序集


  App_Code文件夾並非只能包含類文件特別是它可以包含並能自動地處理代表數據架構的
  XSD文件把一個XSD文件 添加到該文件夾中時編譯器將把它解析成一個有類型的
  DataSet類並將它添加到應用程序作用域中在ASPNET x中這一工作由Visual
  Studio NET向導使用一個命令行實用程序(xsdexe)完成的
  注意 使用nfig文件注冊一個組件(例如一個自定義的服務器控件或一
  個自定義的HTTP處理程序)時通常要求指定包含該代碼的程序集名稱如 果該組件定義
  在App_Code文件夾中則應該用什麼名稱來指示程序集?在這種情況下只是忽略程序集信
  息並規定完整的類名即可如果沒有規定任何程 序集則ASPNET運行庫將試圖從任何
  已裝載的程序集中裝入該類包括為App_Code文件夾動態創建的程序集
   App_Data文件夾
  App_Data文件夾應該包含應用程序的本地數據存儲它通常以文件(諸如Microsoft
  Access或Microsoft SQL Server Express數據庫XML文件文本文件以及應用程序支持
  的任何其他文件)形式包含數據存儲該文件夾內容不由ASPNET處理該文件夾是ASPNET
  提供程序存儲自身數據的默認位置
  注意 默認ASPNET帳戶被授予對文件夾的完全訪問權限如果碰巧要改變
  ASPNET帳戶一定要確保新帳戶被授予對該文件夾的讀/寫訪問權
   App_GlobalResources文件夾
   App_LocalResources文件夾
   App_Themes文件夾
  App_Themes文件夾為ASPNET控件定義主題主題包含在App_Themes文件夾下的一個文件夾
  根據定義一個主題是一組帶有樣式信息的文件主題文件夾中的文件內容被編譯以生
  成一個類而該類被頁面調用以編程的方式設置主題化控件的樣式
  App_Themes文件夾列出應用程序的本地主題 應用程序還可以繼承如下文件夾中定義的全
  局主題
  %WINDOWS%\MicrosoftNET\Framework\[version]\ASPNETClientFiles\Themes
  從編譯的角度看全局主題和局部主題沒有區別如果一個給定名稱的主題既存在應用程
  序的本地主題又存在服務器機器的全局主題則本地主題優先適用
   App_WebReferences文件夾
  在Visual Studio NET 一個需要訪問Web服務的ASPNET應用程序將通過
  加Web引用對話框獲得相應的wsdl文件Web服務的WSDL(Web Service Description
  Language)文檔對於從頁面使用Web服務是不夠的ASPNET頁面最終是一個托管類並且
  需要與另一個托管類通信因此Web服務被一個 代理類所包裝該代理類是由Visual
  Studio使用命令行工具wsdlexe的服務創建的該代理類盡量包含與Web服務商的Web方法一
  樣多的方法並且它結合了Web服務的公共接口 定義的任何自定義的數據類型
  這個操作不需要開發人員付出很大的代價然而開發人員顯然要依賴於Visual Studio來
  生成代理類如果能夠直接把wsdl文件放在應用程序的目錄樹的某個地方並讓ASPNET處
  理其余的任務這樣不是更容易更簡單 嗎?這正好是App_WebReferences文件夾要做的
  事情
  它識別那些用來描述所綁定的Web服務的wsdl文件並生成運行時代理類以便ASPNET頁
  面能夠以類型安全的方式 放置對Web服務的調用App_WebReferences文件夾可以包含子文
  件夾子文件夾的名稱驅動最後所得到的代理類的命名空間而WSDL文件 定義類名例如
  sampleswsdl文件和ProsAspNet子文件夾將創建一個稱為ProAspNetSamples的代理
  類該動 態創建的程序集稱為App_WebReferencesxxxdll其中xxx是一個隨機的字符序
  列
  文件夾名稱
  文件類型
  注 釋
  Bin
  dll
  包含應用程序所需的任何預生成的程序集
  App_Browsers
  browser
  包含應用程序特有的浏覽器定義文件ASPNET用它來識別各浏覽器及確定它們的功能
  App_Code
  csvbxsd自定義的文件類型
  包含作為應用程序的一部分編譯的類的源文件當頁面被請求時ASPNET編譯該文件夾
  中的代碼該文件夾中的代碼在應用程序中自動地被引用
  App_Data
  mdbmdfxml
  包含Microsoft Office Access和SQL Express文件以及XML文件或其他數據存儲
  App_GlobalResources
  resx
  包含在本地化應用程序中以編程方式使用的資源文件
  App_LocalResources
  resx
  包含頁面范圍的資源文件
  App_Themes
  skinCSSxsl附屬文件
  包含一組定義ASPNET頁面和控件外觀的文件
  App_WebReferences
  wsdl


From:http://tw.wingwit.com/Article/program/net/201311/13016.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.