導航:首頁 > APP軟體 > aspnetappdata

aspnetappdata

發布時間:2023-03-16 21:42:40

Ⅰ 以下哪些是asp.net支持的文件

1. Bin文件夾

Bin文件夾包含應用程序所需的,用於控制項、組件或者需要引用的任何其他代碼的可部署程序集。該目錄中存在的任何.dll文件將自動地鏈接到應用程序。如果在該文件夾中留有不用的或過期的文件,則可能出現「二義性引用(ambiguous reference)」異常的風險。換句話說,如果兩個不同的程序集定義相同的類(相同的命名空間和名稱),則ASP.NET運行庫不能決定應該使用哪一個程序集,從而拋出一個異常。在開發時,當我們重新命名一個項目或一個程序集的名稱時,這是常見的錯誤。為了避免這種錯誤,一定不要在該文件夾中保留任何不必要的程序集,或者至少要從配置文件的<assemblies>節中刪除如下代碼行:
<add assembly="*" />

 

2. App_Browser文件夾

該可選的文件夾包含.browser文件。.browser文件描述瀏覽器(不管是移動設備瀏覽器,還是台式機瀏覽器)的特 征和功能。ASP.NET在安裝路徑下的Config/Browser文件夾中安裝了大量.browser文件,這些文件供所有應用程序共享。我們只是把 當前應用程序特有的瀏覽器文件放在App_Browser文件夾下。.browser文件的內容即時動態地進行編譯,以便向ASP.NET運行庫提供最新 的瀏覽器信息。

讓我們簡單談談擁有一個自定義的.browser文件可能有幫助的場景。設想應用程序使用了一個在某個瀏覽器下不能有效呈現的控制項。在指定的瀏覽器中顯示宿主頁面時,可以編寫一個.browser文件,迫使ASP.NET使用一個不同的適配器來生成該控制項。

<browsers>

<browser id="browserID">

<controlAdapters>

<adapter controlType="Samples.CustomControl"

adapterType="Samples.Adapters.CustomControlAdapter" />

</controlAdapters>

</browser>

</browsers>

假設browserID與ASP.NET識別的標准瀏覽器之一相匹配,則上文所示的.browser文件指示在指定的瀏覽器下使用CustomControlAdapter呈現CustomControl。

3. App_Code文件夾

App_Code文件夾正好在Web應用程序根目錄下,其存儲所有應當作為應用程序的一部分動態編譯的類文件。這些類文件自 動鏈接到應用程序,而不需要在頁面中添加任何顯式指令或聲明來創建依賴性。App_Code文件夾中放置的類文件可以包含任何可識別的ASP.NET組件 ——自定義控制項、輔助類、build提供程序、業務類、自定義提供程序、HTTP處理程序等。

    注意        在開發時,對App_Code文件夾的更改會導致整個應用程序重新編譯。對於大型項目,這可能不受歡迎,而且很耗時。為此,鼓勵大家將代碼進行模塊化處理 到不同的類庫中,按邏輯上相關的類集合進行組織。應用程序專用的輔助類大多應當放置在App_Code文件夾中。

App_Code文件夾中存放的所有類文件應當使用相同的語言。如果類文件使用兩種或多種語言編寫,則必須創建特定語言的子目錄,以包含用每種語言編寫的類。一旦根據語言組織這些類文件,就要在web.config文件中為每個子目錄添加一個設置:

<compilation>

<codeSubDirectories>

<add directoryName="VBFolder" />

</codeSubDirectories>

</compilation>

重要的是,特定語言的子目錄應在web.config文件中注冊,否則,不管它們屬於哪個文件夾,App_Code文件夾下 的所有文件將被編譯成一個單獨的程序集。上述配置腳本描述了這么一種情況,即所有的C#文件都放在App_Code文件夾的根目錄下,而把幾個 Visual Basic .NET類文件移入VBFolder目錄中。如果<codeSubDirectories>節中提到的目錄不存在,則會收到一個編譯錯誤提 示。

App_Code根文件夾中的文件被編譯成App_Code_xxx.dll程序集,其中xxx是隨機生成的字元序列。一個 給定子目錄中的文件將被編譯成一個名為App_SubCode_xxx_yyy.dll的動態創建的程序集,其中xxx指示子目錄的名稱,而yyy是一個 隨機字元序列。只有在應用程序根目錄中的web.config文件中進行了設置,<codeSubDirectories>節才有效。

在App_Code目錄或任何其他子目錄中放置一個assemblyinfo.cs文件,可以創建一個強命名的程序集。顯然,如果該文件夾包含Visual Basic .NET文件,那麼將使用assemblyinfo.vb文件。程序集配置文件可以引用一個.snk文件來保存強名稱的密鑰。

注意        給一個程序集設置一個強名稱,首先必須獲得一個公開/私有密鑰對。通過使用強名稱(Strong Name)工具(sn.exe),可以獲得這樣一個密鑰對。強名稱工具是我們可以在.NET Framework的安裝路徑中發現的SDK binary之一。密鑰對文件通常有一個.snk擴展名。可以將該文件保存到一個應用程序文件夾中,並在assemblyinfo.cs文件中引用它,如下所示:

            [assembly: AssemblyKeyFileAttribute(@"yourKeyPair.snk")]

注意,Visual Basic .NET是在包含Visual Studio Solution的目錄中尋找密鑰文件,而C#編譯器則在包含該binary的目錄中尋找密鑰文件。據此可知,用此屬性調整我們使用的路徑,或者把密鑰文件放在合適的文件夾中。

在隨後發生的任何重新生成中,程序集的名稱將發生變化。同時,老的AppDomain請求一結束,就刪除老的程序集。

App_Code文件夾並非只能包含類文件。特別是,它可以包含並能自動地處理代表數據架構的XSD文件。把一個XSD文件 添加到該文件夾中時,編譯器將把它解析成一個有類型的DataSet類,並將它添加到應用程序作用域中。在ASP.NET 1.x中,這一工作由Visual Studio .NET向導,使用一個命令行實用程序(xsd.exe)完成的。

    注意        使用web.config文件注冊一個組件(例如,一個自定義的伺服器控制項或一個自定義的HTTP處理程序)時,通常要求指定包含該代碼的程序集名稱。如 果該組件定義在App_Code文件夾中,則應該用什麼名稱來指示程序集?在這種情況下,只是忽略程序集信息,並規定完整的類名即可。如果沒有規定任何程 序集,則ASP.NET運行庫將試圖從任何已裝載的程序集中裝入該類,包括為App_Code文件夾動態創建的程序集。

4. App_Data文件夾

App_Data文件夾應該包含應用程序的本地數據存儲。它通常以文件(諸如Microsoft Access或Microsoft SQL Server Express資料庫、XML文件、文本文件以及應用程序支持的任何其他文件)形式包含數據存儲。該文件夾內容不由ASP.NET處理。該文件夾是ASP.NET提供程序存儲自身數據的默認位置。

注意        默認ASP.NET帳戶被授予對文件夾的完全訪問許可權。如果碰巧要改變ASP.NET帳戶,一定要確保新帳戶被授予對該文件夾的讀/寫訪問權。

5. App_GlobalResources文件夾

正如其他應用程序一樣,ASP.NET應用程序也可以使用資源,而且通常應該使用資源。資源是隔離應用程序用戶界面的可局部 化部分的一種有效方法。一般而言,資源是與程序相關的不可執行的文本。典型的資源有圖像、圖標、文本和附屬文件,但是任何可序列化的對象也可以被看作資 源。應用程序資源存儲在應用程序的外部,這樣就能在不影響和重新編譯應用程序本身的情況下重新編譯和替換它們。

ASP.NET應用程序需要有一個主要程序集來保存應用程序默認的或中性的資源。此外,還要部署許多附屬程序集,它們中各自 包含我們需要支持的某種文化的本地化資源。在ASP.NET 1.x中,編譯一個程序集內的資源有點麻煩。需要手動地將基於XML的資源文件(那些帶.res擴展名的資源)編譯成.resources二進制文件。這 些文件既可以嵌入到一個.NET可執行文件中,也可以編譯成附屬程序集。使用資源文件生成器實用程序resgen.exe,將文本和基於XML的資源文件 轉變為.resource文件。資源文件名稱遵循baseName.cultureName.resource命名約定,其中baseName通常是應用 程序的名稱:

resgen.exe ProAspNet20.resx ProAspNet20.it.resources

創建.resource文件以後,應當把它嵌入到一個程序集中,甚至可以作為一個資源容器來使用。要把一個資源文件嵌入到一個附屬程序集中,可以使用程序集連接器工具(al.exe)。在命令行上,指出程序集所使用的文化(如下面示例中的it,它代表義大利)和名稱。

al /out:ProAspNet20.resources.dll /c:it /embed:ProAspNet20.it.resources

在編譯附屬程序集之後,它們將有相同的名稱。將它們部署到不同的子目錄中,分別按文化命名。

幸運的是,對於ASP.NET 2.0,附屬程序集的時代已經一去不復返了。更准確地說,附屬程序集仍然存在,但是由於App_GlobalResources保留文件夾,對開發人員來說它們已經成為過去的事情。

該文件夾中的任何定位的.resx文件自動地被編譯成附屬程序 集。.resx文件的名稱包含文化信息,以幫助ASP.NET運行庫環境的程序集生成。如下文件,resources.resx, resources.it.resx, resources.fr.resx,生成中性程序集以及適合於義大利(Italian)和法國(French)文化的附屬程序集。如果沒有要求特定文 化,則中性程序集是默認的文化資源。

Ⅱ ASP.NET常見錯誤大全

檢測到有潛在危險的 Request Form 值

原因:

( )在提交數據的頁面或webconfig中沒有對validateRequest的屬性進行正確的設置

( )HTML裡面寫了兩個<form>引起

解決:

方案一 在 aspx文件頭中加入這句 <%@ Page validateRequest= false %>

方案二 修改nfig文件:

<configuration>

<system web>

<pages validateRequest= false />

</system web>

</configuration>

因為validateRequest默認值為true 只要設為false即可

在沒有任何數據時進行無效的讀取嘗試 解決辦法

原因

所返回的sqldatareader無數據記錄 但沒有作記錄判斷力處理 返回的是空值

加上判斷即可 if (reader read()) { TextName Text =

reader[ FieldName ] ToString(); }

數據為空 不能對空值調用此方法或屬性

原因:

若對象是null 那麼調用對象的方法例如ToString()肯定出錯一般是資料庫欄位的值為空

在grideview等數據控制項常出現

解決:因此建議作NULL處理

閱讀器關閉時 FieldCount 的嘗試無效

原因:

使用了SqlDataReader來綁定數據後 將connection對象作了Close()處理

類似

public SqlDataReader GetSomething()

{

conn open();

SqlDataReader reader =

sqlcmd ExcecutReader(CommandBehavior CloseConnection));

conn close();// occur error here

return reader;

}

在綁定的時候調用了這個方法來指定數據源 如果使用這個方法則需要在調用函數中關閉Re

ader這樣conn就可以自動關閉

如果是使用的是SqlDataAdapter和DataSet那麼請去掉顯式關閉conn的調用 或者在finally

中調用之

未能映射路徑

原因:可能是在webconfig中的路徑配置不正確所致 在FCKEditor的配置中這種問題比較突出

<add key= FCKeditor:BasePath value= ~/admin/fckeditor/ />

<add key= FCKeditor:UserFilesPath value= /UserFiles/ />

Unreachable code detected

原因

一般是在異常處理理或返回值時使用了 throw 或return 可能是其位置放在前面 造成後面的代碼執行到了

解決

把相關的異常拋出處理的語句(throw)或return 的語句放到代理執行的最後一行

索引超出范圍 必須為非負值並小於集合大小

原因

( ) 沒有設置DATAKEYFIELD設為資料庫中相對應的唯一欄位(一般是主鍵)

( ) DataGrid Columns > e Item Cells

解決

( ) 設置datakeyfield

( ) 加入判斷語句unt (datagrid可以是其它相類似的伺服器控制項)

數據源不支持伺服器端的數據分頁

解決方法:

不要使用DataReader 改成使用DataSet 或使用自定義分頁形式 不採用提供的分頁功能

OleDbDataAdapter da = new OleDbDataAdapter(sql connection);

DataSet ds = new DataSet();

da Fill(ds News );

GridView DataSource = ds ;

GridView DataBind();

對象名 ***** 無效

原因:當前使用的資料庫中沒有*****這張表

解決: 查看是否程序中是否寫錯了所調用的表的名稱或看一下SQL資料庫中是否存在你所調用的表

在建立與伺服器的連接時出錯 在連接到 SQL Server 時 在默認的設置下 SQL

Server 不允許進行遠程連接可能會導致此失敗 (provider: 命名管道提供程序

error: 無法打開到 SQL Server 的連接)

solution: 主機上需要用固定的IP地址或伺服器地址

SqlDateTime 溢出 必須介於 / / : : AM 和 / / : : PM

之間

出現這種問題``多半是因為你更新資料庫時``datetime欄位值為空``默認插入 年 月

日``造成datetime類型溢出

出現 表示 屬性 此處應為 方法

原因:

VB與c#的方法 屬性的格式有所不一樣導致

可能是在design中綁定數據的語法出現錯誤 解決: 記住屬性用[] 方法用()

記住綁定數據的正確語法(有以下幾種方式::<%Container DataItem( 欄位名 )%> <%

#Eval( 欄位名 )%> <%Bind( 欄位名 )%>等)

未能從程序集 DAL Version= Culture=neutral

PublicKeyToken=null 中載入類型 DAL SqlHelper

原因:修改了其他層後未能重新編譯成dll

解決:編譯一下(Rebuild)

為過程或函數 指定的參數太多

solution:調用存儲過程與定義的存儲過程所用的參數數量或所執行的SQL語句中所傳入的參

數個數不一致(這是個SQL的錯誤)

解決方案:仔細檢查在存儲過程中所設定的參數變數 與實際輸入的參數值是否一一對應

無法啟動調試 綁定句柄無效

原因:系統的Terminal Services沒有開啟

Unable to debugging on the web server Debug failed because integrated windows authentication is not enable

解決方法:

打開vs >工具(Tools) >選項(Option) >調試(debugging) >編輯並繼續(Edit and Continue) >全部打勾

Automation 操作中文件名或類名未找到: RegExp

解決方法:regsvr vbscript dll

System NullReferenceException: 未將對象引用設置到對象的實例

原因:

( )所設置的變數為空值或沒有取到值 一般出現在傳遞參數的時候出現這個問題 也會在使用datagrid或gridview或datalist等數據控制項時出現

( )控制項名稱與codebehind裡面的沒有對應

( )未用new初始化對象

( )在程序中所引用的控制項不存在

解決方法:

( )使用try catch finally捕捉錯誤 或直接用response write()輸出所取的變數值

( )查看代碼中是否存在未初始化的變數

錯誤 文件被數字簽名策略拒絕(安裝vs sp 時)解決方法:

( ) 單擊 開始 單擊 運行 鍵入 control admintools 然後單擊 確定

( ) 雙擊 本地安全策略

( ) 單擊 軟體限制策略 (注意 如果未列出軟體限制 請右擊 軟體限制策略 然後單擊 新建策略 )

( ) 在 對象類型 下 雙擊 強制

( ) 單擊 除本地管理員以外的所有用戶 然後單擊 確定

( ) 重新啟動計算機

微軟說明

vs 不能從源文件模式切換到視圖模式

解決方法:dos下運行下 devenv /resetskippkgs (win+r cmd)

Validation of viewstate MAC failed

解決辦法:頁面的頂部page加 EnableViewState= False EnableViewStateMac = False 來解決這個問題

Automation server can t create object (Automation 伺服器不能創建)

解決辦法:運行: Regsvr scrrun dll 即可

包載入失敗

未能正確載入包 Visual Web Developer Trident Designer Package (GUID =

{ AE E C D E F A AEFF }

解決方法:

設置系統變數 VsLogActivity=

在%APPDATA%MicrosoftVisualStudio 文件夾下創建文件ActivityLog xml

Error

Microsoft Visual Studio

LoadLibrary failed for package [Visual Web Developer Trident Designer Package]

{ AE E B C D E F A AEFF }

e

c:Program FilesMicrosoft Visual Studio Common Packages ridsn dll

從 WINNTMicroSoft NETFrameworkv xxx 復制文件gdiplus dll 到 Program FilesVisual Studio Common Packages文件夾下

在命令行下運行命令 devenv /resetskippkgs

Error spawning cmd exe

解決方案:把cmd exe 拷貝到VS安裝目錄下的VC/BIN目錄里 可以解決問題

嘗試讀取或寫入受保護的內存

解決:硬體有問題 一般內存有問題

無法在證書存儲區中找到清單簽名證書

解決方法:用記事本打開項目的 csproj文件 刪除類似

該項目中不存在目標 ResolveKeySource

原因:這個問題很罕見 查詢國外相關資料後 大致說是由於部署的不是一個標準的solution 需要在VS自帶的命令提示中運行下面這個東西恢復

解決方法:

( ) 將下列代碼存為XML文件 命名為TestBuild xml

<Project DefaultTargets= Build xmlns= >

<PropertyGroup>

<TargetConnectionString>Data Source= sql % BUser ID=SqlUser% BPooling=False% BPassword=X</TargetConnectionString>

</PropertyGroup>

<ItemGroup>

<DatabaseProject Include= Database Database dbproj />

<DatabaseProject Include= Database Database dbproj />

</ItemGroup>

<Target Name= BuildAllDatabaseProjects >

<MSBuild

Properties= TargetConnectionString=$(TargetConnectionString)

Projects= @(DatabaseProject)

Targets= Build;Deploy >

</MSBuild>

</Target>

( )在命令提示中運行:m *** uild /t:BuildAllDatabaseProjects TestBuild xml

</Project>

不能將值 NULL 插入列 **

原因:這是資料庫表設計的錯誤 所涉及的表的欄位中設置了不能為空的屬性 但是傳入的值為null 所以報錯

解決方法:查看是否所傳入的值是否為Null 或修改資料庫中表的所對應的列的屬性

未能載入類型 命名空間 類

原因:

( )項目修改後沒有進行編譯

( )項目中原有的命名空間可能被修改了

( )項目中所需要的ascx或其他頁面不存在 或不包含在項目中

解決方法:

( )在修改完成之後 請重新生成或編譯整個項目或解決方案

( )手工修改所改動的命名空間 注意名稱的大小寫 再重新編譯

( )將相關的文件包含在項目中

不能訪問只讀文件 **** ***

解決方案:

給虛擬目錄所對應的文件加上 Everyone/寫入 許可權即可

請求因 HTTP 狀態 失敗 Access Denied解決方法:在iis信息伺服器上把匿名訪問和允許iis控制密碼給勾上

有一個無效 SelectedValue 因為它不在項目列表中

原因

( )在沒有綁DropDownList之前就給DropDownList SelectedValue 賦值

( )dropdownlist中出現了null值

無法在 已存在的情況下創建/影像復制該文件

解決方案 重新編譯項目(多個project全部重新編譯) 關閉vs 重新打開 必要時重新啟動機子

用戶 CASPNET 登錄失敗登錄失敗

異常詳細信息: System Data SqlClient SqlException: 用戶 COOASPNET 登錄失敗

這是怎麼回事啊?

因為你的程序連接SQLServer的連接字元串是用了windows集成登陸 你可以改成用資料庫帳號密碼登陸 連接字元串的寫法是

server=localhost;uid=sa;pwd=xxxx;database=master;

server是資料庫伺服器的機器名或者IP 如果是同一台機可以用localhost

uid是資料庫登陸帳號

pwd是資料庫密碼

database是資料庫初始owner名稱

答案

右擊桌面我的電腦 選擇 管理 雙擊打開的 計算機管理 對話框中的 本地用戶和組 下的 組 在右邊的窗口中雙擊 Remote Desktop Users 組 在打開的 Remote Desktop Users 屬性對話框中 單擊添加 在打開的 添加用戶 對話框中單擊 高級 再單擊 立即查找 按鈕 在 搜索 結果中 雙擊ASPNET(如果是IIS NEOR SERVERCE )再點擊兩次確定完成添加 用戶

單擊 開始 所有程序 Microsoft SQL Server 企業管理器 在打開的 控制台根目錄 選擇相應的資料庫 右擊該資料庫的中的 用戶 選擇 新建資料庫用戶 在 新建用戶 對話 框中點擊 登陸名 右側的下拉列表框 選擇 新建 打開 新建登陸對話框 點擊名稱右側的 省略號按鈕 在打開的對話框中將 列出的名稱 中選擇 本機的名稱 再在下面的名稱框中選定 Remote Desktop Users 然後點擊 成員 按鈕 雙擊 ASPNET(如果是IIS NEOR SERVERCE ) 然後點擊確定 在 新建登陸對話 框 中的默認設置的 資料庫 選項中選擇相應的資料庫名稱 再在 資料庫訪問 選項下勾選相應 的資料庫點擊確定 完成將默認的匿名用戶添加到SQL

用戶 nt authority eork service 登錄失敗

> sqlserver 調成sql server 和windows驗證模式

>

(以下方法僅供參考)

第一步 把 NT AUTHORITYNEORK SERVICE 添加到Administrator組中

我的電腦 >右鍵 >管理 >本地用戶和組

選擇 組 >雙擊Administrators >單擊 添加 >單擊 高級 >單擊 立即查找 >在下面的列表中選擇Neork Service用戶 >兩次單擊 確定 >加入

第二步 在企業管理器中加入NetWord Service用戶

打開Sql Server企業管理器 >選擇資料庫實例 >打開 安全性 節點 >選擇 登錄 >在右邊的列表中單擊右鍵 >選擇 新建登錄 >在 常規 選項卡中單擊 名稱 旁邊的按鈕 >選擇 Administrators 組 >單擊下面的 成員 按鈕 >選擇 Neork Service >單擊 添加 按鈕 >單擊 確定 返回 新建登錄 對話框 >保證身份驗證類型為 windows驗證 和 允許訪問 >單擊 確定 >關閉 企業管理器

第三步

重新運行程序 資料庫連接字元串選擇windows驗證即可

> 在sqlserver中添加帳戶或IIS_WPG工作組

此方法來自於

未能載入視圖狀態 正在向其中載入視圖狀態的控制項樹必須與前一請求期間用於保存視圖狀態的控制項樹相匹配 例如 當以動態方式添加控制項時 在回發期間添加的控制項必須與在初始請求期間添加的控制項的類型和位置相匹配

原因 viewstate的在作用是將控制項的狀態保存 在下次Post給伺服器 伺服器進行恢復控制項的狀態 (控制項的狀態包括 值和事件 )

解決方法

( )每一個UserControl的viewstate都改為false

( )加入這個

this Page EnableViewState = false;

此方法來源於 _astar/archive/ / / /l

由於啟動用戶實例的進程時出錯 導致無法生成 SQL Server 的用戶實例 該連接將關閉

問題原因

這是微軟的bug 並且微軟已經承認 詳情如下

出現此錯誤的條件是 你用過遠程桌面連接 並且安裝了SQL +VS 就有很大可能觸發這個問題 微軟說會在將來的XP SP 裡面解決掉這個問題

解決

ID= &SiteID=

如果你看不懂英文 那麼我告訴你我的解決辦法

刪除C:Documents and Settings[USERNAME]Local SettingsApplication DataMicrosoftMicrosoft SQL Server DataSQLEXPRESS目錄即可 [USERNAME]是Windows用戶名 比如說Administrator

此問題來於

Server Application Unavailable

The web application you are attempting to access on this web server is currently unavailable Please hit the Refresh button in your web browser to retry your request

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server Please review this log entry to discover what caused this error to occur

解決

如果你運行WinXP/IIS 為了給ASPNET工作進程訪問你的web工程文件夾的權力請到網站文件所在的目錄 右鍵一級文件夾 選Security-Add-鍵入 ASPNET 點擊OK或點擊Check Names 如果彈出對話框提示 Name not Found 則應點擊Locations改變位置到本機計算機名 點擊OK 分配此用戶許可權為 Full Control 點擊OK

錯誤變為

You are not authorized to view this page

You do not have permission to view this directory or page using the credentials you supplied

解決

在IIS里右鍵此虛擬目錄-Properties-Directory Security-Edit 勾選上Integrated Windows authentication即可

超時時間已到 超時時間已到 但是尚未從池中獲取連接 出現這種情況可能是因為所有池連接均在使用 並且達到了最大池大小

可能原因如下 並發操作 Connection用後沒有關閉 或者因為DataReader連接獨占連接

解決方法

修改幾個關鍵頁面或訪問比較頻繁的資料庫訪問操作 使用DataAdapter和DataSet來獲取資料庫數據 不要使用DataReader

在訪問資料庫的頁面上使用數據緩存 如果頁面的數據不是經常更新(幾分鍾更新一次)的話 使用Cache對象可以不用訪問資料庫而使用緩存中的內容 那麼可以大大減少連接數量

修改代碼 把使用Connection對象的地方都在Close()後面加上Dispose()調用

建議對資料庫操作進行大的修改 建立自己的資料庫操作代理類 繼承System IDisposable介面 強迫釋放資源 這樣就不會出現連接數量不夠的問題了

包載入失敗

未能正確載入包 Visual Web Developer Trident Designer Package (GUID =

{ AE E C D E F A AEFF } 請與包供應商聯系以獲得幫助 由於可能會發生環境損壞 建議重新啟動應用程序 要禁止將來將來載入此包嗎?可以使用 devenv reswetskippkgs 重新啟用包載入

每次開機打開vs 都會有這個提示 煩

於是在google了一下 發現很多方法都試過了 只有一個解決一試就行

解決方法如下:

設置系統變數 VsLogActivity=

在%APPDATA%MicrosoftVisualStudio 文件夾下創建文件ActivityLog xml

從 WINNTMicroSoft NETFrameworkv xxx 復制文件gdiplus dll 到 Program FilesVisual Studio Common Packages文件夾下

在命令行下運行命令 devenv /resetskippkgs

注:發現此問題只有在win 會出現 win 就不會出現這個問題

用戶 xxxASPNET登錄失敗

第一步

把 NT AUTHORITY NetWORK SERVICE 添加到Administrator組中

我的電腦 >右鍵 >管理 >本地用戶和組

選擇 組 >雙擊Administrators >單擊 添加 >單擊 高級 >單擊 立即查找 >在下面的列表中選 Neork Service用戶 >兩次單擊 確定 >加入

第二步 在企業管理器中加 Neork Service用戶

打開Sql Server企業管理器 >選擇資料庫實例 >打開 安全性 節點 >選擇 登錄 >在右邊的列表中單擊右鍵 >選擇 新建登錄 >在 常規 選項卡中單擊 名稱 旁邊的按鈕 >選擇 Administrators 組 >單擊下面的 成員 按鈕 >選擇 Neork Service >單擊 添加 按鈕 >單擊 確定 返回 新建登錄 對話框 >保證身份驗證類型為 windows驗證 和 允許訪問 >單擊 確定 >關閉 企業管理器

第三步

重新運行asp Net程序 資料庫連接字元串選擇windows驗證即可

以上針對win 如果是win 加ASp Net用戶

無法在 已存在的情況下創建/影像復制該文件

解決方法 重新編譯整個項目 或者重啟電腦

Could not create an environment: OCIEnvCreate returned

解決方案一

主要是將oracle主目錄oracle的讀寫許可權賦予或者是IUSER_ 和IWAM_ 重啟計算機

解決二:

打開在IIS中的WEB屬性--主目錄--執行許可權【改為-腳本和可執行文件】

-應用程序池【改為-MSSharePointAppPool】 刷新OK

解決三:

文件夾許可權可以不用管

設置ORACLE_HOME變數的方法如下

控制面板>>系統>>高級>>環境變數>>系統變數>>新建系統變數

變數名寫ORACLE_HOME

變數值添實際的ORACLE_HOME路徑 在注冊表中有

由於目標機器積極拒絕 無法連接

在添加完引用後 用localhost替換掉所有的localhost: 重新編譯

能載入視圖狀態 正在向其中載入視圖狀態的控制項樹必須與前一請求期間用於保存視圖狀態的控制項樹相匹配 例如 當以動態方式添加控制項時 在回發期間添加的控制項必須與在初始請求期間添加的控制項的類型和位置相匹配

解決 在頁面的 Page 項添加 EnableViewState= false 即可

在以下方法或屬性之間的調用不明確 method 和 method

因隱式轉換的緣故 編譯器無法調用重載方法的某種形式 可以用以下方法糾正該錯誤

以不發生隱式轉換的方式指定此方法的參數

移除此方法的所有重載

在調用方法之前 強制轉換到正確的類型

在應用程序級別以外使用注冊為 allowDefinition= MachineToApplication

解決 在網站對應的虛擬目錄上右鍵 選屬性 然後在應用程序名後點創建 名字隨便填

[子目錄不會繼承上級的屬性 所以要將aspx文件所在的目錄屬性設置正確]

無法識別的配置節 connectionStrings

原因

用vs 開發的應用程序需要使 framework 而在iis中的默環境是 這時將發生不可識別的節點的問題

解決辦法

環境升級為 開始-》運行-》cmd-》

C:WINDOWSMicrosoft NETFrameworkv aspnet_regiis exe i

Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached

Description: An unhandled exception occurred ring the execution of the current web request Please review the stack trace for more information about the error and where it originated in the code

Exception Details: System InvalidOperationException: Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached

主要原因可能有

使用了連接池 大量的sqlconnection用了後忘記關閘門 導致SQL佔用嚴重 可以用 exec sp_who 這個存儲過程查看一下

連接池的連接數有所限制

解決方法:

釋放連接池 調用Connection對象的Close()方法關閉資料庫連接

利用try catch finally對資料庫連接進行異常處理 當無法連接資料庫時將拋出異常 並顯示出錯信息 見catch代碼塊所示 在此程序中 無論是否發生異常 都可以通過finally區塊關閉資料庫的連接 從而節省計算機資源

將SqlConnection對象包含到using區塊中 這樣程序會自動調用Dispose()方法釋放SqlConnection對象所佔用的系統資源 無需再使用SqlConnection對象的Close()方法

指定min pool size表示連接池允許的最小連接數(默認為 ) 下面的代碼指定了SqlConnection對象的max pool size為 min pool size為

lishixin/Article/program/net/201311/11175

Ⅲ 「對路徑的訪問被拒絕.」 是怎麼回事

可能是屬性不適配或者和你的系統不匹配,具體的解決方法如下,僅供參考,希望對你有幫助,可以找身邊計算機專業的同學咨詢一下呀,僅供參考:
1.首先,右鍵點擊我么你需要許可權的文件夾,點擊「屬性」選項.
2.在菜單欄出找到「安全」選項,點擊「高級」選項.
3.彈出的對話框中點擊「所有者」選項卡,然後點擊「編輯」選項.
4.在新彈出的對話框中點擊下方的「將所有者變更為」,選擇我們當前系統登錄用戶,點擊「確定」,返回屬性安全標簽下。
5.在組或用戶名列表中查看自己用戶是否添加成功,然後點擊「編輯」選項,進入用戶編輯對話框。
6.然後在用戶列表中把除了我們剛才添加的用戶名其餘的都刪除,問題就解決了。

Ⅳ 伺服器怎麼配置服務資料庫

ACCESS資料庫是個文件來的,不用配置的了,在解決方案中添加你創建的ACCESS數據文件中,系統會提示你是否創建App_Data目錄並將ACCESS文件添加到此目錄中,選擇"是"就可以了,再在程序中創建連接到此文件的連接字元串即可.(此文後面有在web.config中配置的方法)例如
String con = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb");

然後就像用其它資料庫一樣用了.

完全示例:

C#連接Access程序代碼:

usingSystem.Data;
usingSystem.Data.OleDb; stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"DataSource=C:\ASPNET\YouAccessData.mdb";
OleDbConnectionobjConnection=newOleDbConnection(strConnection);
//或
//stringstrConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb");
objConnection.Open();
objConnection.Close();

解釋:

C#連接Access資料庫需要導入額外的命名空間,所以有了最前面的兩條using命令,這是必不可少的!

strConnection這個變數里存放的是連接資料庫所需要的連接字元串,他指定了要使用的數據提供者和要使用的數據源。

「Provider=Microsoft.Jet.OleDb.4.0;」是指數據提供者,這里使用的是Microsoft Jet引擎,也就是Access中的數據引擎,asp.net就是靠這個和Access的資料庫連接的。
「Data Source=C:\BegASPNET\Northwind.mdb」是指明數據源的位置,他的標准形式是「Data Source=MyDrive:MyPath\MyFile.MDB」。

PS:

1.「+=」後面的「@」符號是防止將後面字元串中的「\」解析為轉義字元。

2.如果要連接的資料庫文件和當前文件在同一個目錄下,還可以使用如下的方法連接:

strConnection+="Data Source=";strConnection+=MapPath("Northwind.mdb");

3.要注意連接字元串中的參數之間要用分號來分隔。

「OleDbConnection objConnection=new OleDbConnection(strConnection);」這一句是利用定義好的連接字元串來建立了一個鏈接對象,以後對資料庫的操作我們都要和這個對象打交道。

「objConnection.Open();」這用來打開連接。至此,與Access資料庫的連接完成。

再來一個示例:
using System.Data.OleDb;
using System.Data;
//連接指定的Access資料庫
String ConnString =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=App_Data\YouAccessData.mdb";
//SQL語句
String SQLString ="select * from TestDB";
//創建一個OleDbConnection對象
System.Data.OleDb.OleDbConnection OleDBConn1 = new System.Data.OleDb.OleDbConnection(ConnString);
//創建一個DataSet對象
DataSet DataSet1 = new DataSet();
//創建一個OleDbDataAdapter對象
System.Data.OleDb.OleDbDataAdapter OleDbDataAdapter1 = new System.Data.OleDb.OleDbDataAdapter(SQLString,OleDBConn1);
//打開連接
OleDBConn1.Open();
//通過OleDbDataAdapter對象填充數據集
OleDbDataAdapter1。Fill(DataSet1,"TT");

另外是在web.config中如何使用access資料庫連接了,估計就是你所要的了:

一: 一種是通過使用 DataDirectory 目錄的方法,但是 access 文件必須放在 ASP.NET 的特殊目錄中,如 app_data ;

<addname="access"connectionString="Provider=Microsoft.Jet.Oledb.4.0;
Data Source=|DataDirectory|db.mdb"/>

二:另外一種方法則比較靈活,具體方法是:在 web.config 文件中保存兩個字元串,一個是驅動字元串,另一個是 access 文件的相對路徑;

使用時用 Server.MapPath 來獲取絕對路徑然後組合出來的連接字元串就可以使用了;

在web.config中的寫法如下:

<appSettings>
<add key="ConnStr" value="provider=microsoft.jet.oledb.4.0;data source="/>
<add key="dbPath" value="/AppData/db.mdb"/>
</appSettings>

程序中的數據訪問類中我把"ConnStr"和"dbPath"取出來再連接成一個字元串
代碼如下:

/// <summary>
/// (靜態)返回資料庫連接串。
/// </summary>
protected static string GetConnString()
{
return
System.Configuration.ConfigurationSettings.AppSettings["ConnStr"]+ System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["dbPath"])+";";
}

三:直接寫資料庫的物理路徑

<connectionStrings>
<add name="qxConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Inetpub\wwwroot\web\App_Data\db.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>

注意:Data Source字元的寫法一定要正確,否則可能會出現「找不到可安裝的ISAM」的錯誤。

Ⅳ asp.net 中的App_Data文件夾作用

存放資料庫文件的,比如ACCESS,SQL 2005 簡化版 貌似也可以

在代碼中可以方便的調用|DataDirectory|可以直接訪問app_data文件夾

以下是其他一些ASP.NET的常用文件夾

1. Bin文件夾
Bin文件夾包含應用程序所需的,用於控制項、組件或者需要引用的任何其他代碼的可部署程
序集。該目錄中存在的任何.dll文 件將自動地鏈接到應用程序。

2. App_Browser文件夾

該可選的文件夾包含.browser文件。.browser文件描述瀏覽器(不管是移動設備瀏覽器,還
是台式機瀏覽器)的特 征和功能。

3. App_Code文件夾

App_Code文件夾正好在Web應用程序根目錄下,其存儲所有應當作為應用程序的一部分動態
編譯的類文件。這些類文件自 動鏈接到應用程序,而不需要在頁面中添加任何顯式指令或
聲明來創建依賴性。App_Code文件夾中放置的類文件可以包含任何可識別的ASP.NET組件
——自定義控制項、輔助類、build提供程序、業務類、自定義提供程序、HTTP處理程序等。

注意 在開發時,對App_Code文件夾的更改會導致整個應用程序重新編譯。對於大型
項目,這可能不受歡迎,而且很耗時。為此,鼓勵大家將代碼進行模塊化處理 到不同的類
庫中,按邏輯上相關的類集合進行組織。應用程序專用的輔助類大多應當放置在App_Code文
件夾中。

App_Code文件夾中存放的所有類文件應當使用相同的語言。如果類文件使用兩種或多種語言
編寫,則必須創建特定語言的子目錄,以包含用每種語言編寫的類。一旦根據語言組織這些
類文件,就要在web.config文件中為每個子目錄添加一個設置:

<compilation>

<codeSubDirectories>

<add directoryName="VBFolder" />

</codeSubDirectories>

</compilation>

重要的是,特定語言的子目錄應在web.config文件中注冊,否則,不管它們屬於哪個文件夾
,App_Code文件夾下 的所有文件將被編譯成一個單獨的程序集。上述配置腳本描述了這么
一種情況,即所有的C#文件都放在App_Code文件夾的根目錄下,而把幾個 Visual Basic
.NET類文件移入VBFolder目錄中。如果<codeSubDirectories>節中提到的目錄不存在,則
會收到一個編譯錯誤提 示。

App_Code根文件夾中的文件被編譯成App_Code_xxx.dll程序集,其中xxx是隨機生成的字元
序列。一個 給定子目錄中的文件將被編譯成一個名為App_SubCode_xxx_yyy.dll的動態創
建的程序集,其中xxx指示子目錄的名稱,而yyy是一個 隨機字元序列。只有在應用程序根
目錄中的web.config文件中進行了設置,<codeSubDirectories>節才有效。

在App_Code目錄或任何其他子目錄中放置一個assemblyinfo.cs文件,可以創建一個強命名
的程序集。顯然,如果該文件夾包含Visual Basic .NET文件,那麼將使用
assemblyinfo.vb文件。程序集配置文件可以引用一個.snk文件來保存強名稱的密鑰。

注意 給一個程序集設置一個強名稱,首先必須獲得一個公開/私有密鑰對。通過
使用強名稱(Strong Name)工具(sn.exe),可以獲得這樣一個密鑰對。強名稱工具是我們可
以在.NET Framework的安裝路徑中發現的SDK binary之一。密鑰對文件通常有一個.snk擴
展名。可以將該文件保存到一個應用程序文件夾中,並在assemblyinfo.cs文件中引用它,
如下所示:

[assembly: AssemblyKeyFileAttribute(@"yourKeyPair.snk")]

注意,Visual Basic .NET是在包含Visual Studio Solution的目錄中尋找密鑰文件,
而C#編譯器則在包含該binary的目錄中尋找密鑰文件。據此可知,用此屬性調整我們使用的
路徑,或者把密鑰文件放在合適的文件夾中。

在隨後發生的任何重新生成中,程序集的名稱將發生變化。同時,老的AppDomain請求一結
束,就刪除老的程序集。

App_Code文件夾並非只能包含類文件。特別是,它可以包含並能自動地處理代表數據架構的
XSD文件。把一個XSD文件 添加到該文件夾中時,編譯器將把它解析成一個有類型的
DataSet類,並將它添加到應用程序作用域中。在ASP.NET 1.x中,這一工作由Visual
Studio .NET向導,使用一個命令行實用程序(xsd.exe)完成的。

注意 使用web.config文件注冊一個組件(例如,一個自定義的伺服器控制項或一
個自定義的HTTP處理程序)時,通常要求指定包含該代碼的程序集名稱。如 果該組件定義
在App_Code文件夾中,則應該用什麼名稱來指示程序集?在這種情況下,只是忽略程序集信
息,並規定完整的類名即可。如果沒有規定任何程 序集,則ASP.NET運行庫將試圖從任何
已裝載的程序集中裝入該類,包括為App_Code文件夾動態創建的程序集。

4. App_Data文件夾

App_Data文件夾應該包含應用程序的本地數據存儲。它通常以文件(諸如Microsoft
Access或Microsoft SQL Server Express資料庫、XML文件、文本文件以及應用程序支持
的任何其他文件)形式包含數據存儲。該文件夾內容不由ASP.NET處理。該文件夾是ASP.NET
提供程序存儲自身數據的默認位置。

注意 默認ASP.NET帳戶被授予對文件夾的完全訪問許可權。如果碰巧要改變
ASP.NET帳戶,一定要確保新帳戶被授予對該文件夾的讀/寫訪問權。

5. App_GlobalResources文件夾

6. App_LocalResources文件夾

7. App_Themes文件夾

App_Themes文件夾為ASP.NET控制項定義主題。主題包含在App_Themes文件夾下的一個文件夾
。根據定義,一個主題是一組帶有樣式信息的文件。主題文件夾中的文件內容被編譯,以生
成一個類,而該類被頁面調用以編程的方式設置主題化控制項的樣式。

App_Themes文件夾列出應用程序的本地主題。 應用程序還可以繼承如下文件夾中定義的全
局主題:

%WINDOWS%\Microsoft.NET\Framework\[version]\ASP.NETClientFiles\Themes

從編譯的角度看,全局主題和局部主題沒有區別。如果一個給定名稱的主題,既存在應用程
序的本地主題,又存在伺服器機器的全局主題,則本地主題優先適用。

8. App_WebReferences文件夾

在Visual Studio .NET 2003中,一個需要訪問Web服務的ASP.NET應用程序,將通過「添
加Web引用」對話框獲得相應的.wsdl文件。Web服務的WSDL(Web Service Description
Language)文檔,對於從頁面使用Web服務是不夠的。ASP.NET頁面最終是一個託管類,並且
需要與另一個託管類通信。因此,Web服務被一個 代理類所包裝。該代理類是由Visual
Studio使用命令行工具wsdl.exe的服務創建的。該代理類盡量包含與Web服務商的Web方法一
樣多的方法,並且它結合了Web服務的公共介面 定義的任何自定義的數據類型。

這個操作不需要開發人員付出很大的代價。然而,開發人員顯然要依賴於Visual Studio來
生成代理類。如果能夠直接把.wsdl文件放在應用程序的目錄樹的某個地方,並讓ASP.NET處
理其餘的任務,這樣不是更容易、更簡單 嗎?這正好是App_WebReferences文件夾要做的
事情。

它識別那些用來描述所綁定的Web服務的.wsdl文件,並生成運行時代理類,以便ASP.NET頁
面能夠以類型安全的方式 放置對Web服務的調用。App_WebReferences文件夾可以包含子文
件夾。子文件夾的名稱驅動最後所得到的代理類的命名空間,而WSDL文件 定義類名。例如
,samples.wsdl文件和ProsAspNet20子文件夾將創建一個稱為ProAspNet20.Samples的代理
類。該動 態創建的程序集稱為App_WebReferences.xxx.dll,其中xxx是一個隨機的字元序
列。

文件夾名稱
文件類型
注 釋

Bin
.dll
包含應用程序所需的任何預生成的程序集

App_Browsers
.browser
包含應用程序特有的瀏覽器定義文件,ASP.NET用它來識別各瀏覽器及確定它們的功能

App_Code
.cs、.vb、.xsd、自定義的文件類型
包含作為應用程序的一部分編譯的類的源文件。當頁面被請求時,ASP.NET編譯該文件夾
中的代碼。該文件夾中的代碼在應用程序中自動地被引用

App_Data
.mdb、.mdf、.xml
包含Microsoft Office Access和SQL Express文件以及XML文件或其他數據存儲

App_GlobalResources
.resx
包含在本地化應用程序中以編程方式使用的資源文件

App_LocalResources
.resx
包含頁面范圍的資源文件

App_Themes
.skin、.CSS、.xsl、附屬文件
包含一組定義ASP.NET頁面和控制項外觀的文件

App_WebReferences
.wsdl

閱讀全文

與aspnetappdata相關的資料

熱點內容
蘋果6splusnote5s6 瀏覽:426
定向流量30G都包括哪些APP 瀏覽:352
apple和瑤瑤綜藝 瀏覽:351
打開word所在文件夾自動彈出 瀏覽:390
c怎麼編程改名字 瀏覽:146
哪些電視劇app不帶logo的 瀏覽:406
開機後桌面變黑色桌面文件丟失 瀏覽:136
網路電視怎麼用遙控器 瀏覽:953
我的世界json打開失敗 瀏覽:867
易語言56教程視頻 瀏覽:610
linux開機啟動文件 瀏覽:773
給寶寶唱兒歌用什麼app 瀏覽:354
投標文件為什麼要使用cad軟體 瀏覽:522
一季度保險業務數據如何看 瀏覽:398
為什麼行車記錄儀文件大小為0 瀏覽:795
win10筆記本傳輸文件 瀏覽:735
棉花糖小說下載的小說在哪個文件 瀏覽:750
淘寶網頁特效代碼 瀏覽:921
找不到指定的文件是什麼意思 瀏覽:659
cad打不出stl文件 瀏覽:439

友情鏈接