asp.net調試錯誤解決方法收集(2)

12“/WebApplication1”應用程序中的服務器錯誤。
--------------------------------------------------------------------------------
對路徑“D:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary asp.net Files/webapplication180d7be/b46d84c0”的訪問被拒絕。

說明:
執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息:
System.UnauthorizedAccessException: 對路徑“D:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary asp.net Files/webapplication180d7be/b46d84c0”的訪問被拒絕。

asp.net 未被授權訪問所請求的資源。請考慮授予 asp.net 請求標識訪問此資源的權限。ASP.NET 有一個在應用程序沒有模擬時使用的基進程標識(通常,在 IIS 5 上爲 {MACHINE}/ASPNET,在 IIS 6 上爲網絡服務)。如果應用程序正在通過 模擬,則標識將爲匿名用戶(通常爲 IUSR_MACHINENAME)或經過身份驗證的請求用戶。

若要授予
asp.net 對文件的寫訪問權,請在資源管理器中右擊該文件,選擇“屬性”,然後選擇“安全”選項卡。單擊“添加”添加適當的用戶或組。突出顯示 asp.net 帳戶,選中所需訪問權限對應的框。

 

 

 

調試權限不夠
Try:
根據設計,ASP.NET 要求對根 Web 站點上或任何虛擬目錄上的 ASPNET 帳戶(Aspnet_wp.exe 進程帳戶)具有讀取、執行和列出訪問權限。這是必需的,以便 ASP.NET 可以訪問內容文件並可以監視文件更改。
解決方案
若要爲根 Web 站點上或任何虛擬目錄上的 ASPNET 帳戶添加讀取、執行和列出訪問權限,請執行以下步驟:
在 Windows 資源管理器中,瀏覽到包含根 Web 站點(默認情況下是 C:/Inetpub/Wwwroot)或虛擬目錄的文件夾。
右鍵單擊該文件夾,然後單擊屬性。
在安全性選項卡上,單擊添加。
鍵入計算機名/ASPNET(例如,在名爲 Webdev 的計算機上,鍵入 Webdev/ASPNET),然後單擊確定。
允許以下 ASPNET 帳戶權限:
讀取並執行
列出文件夾內容
讀取

單擊確定以關閉屬性對話框並保存所做更改。
備註:如果 Everyone 組或用戶組已具有對根 Web 站點或虛擬目錄的讀取訪問權限,則無需執行這些步驟。
-------
添加 IUSR_YouComputerName 和ASPNET 這兩個用戶對 C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/webapplication1dd84b00/b065eec7目錄的訪問權限,設置爲完全訪問,
--------
將 asp.net 用戶(具體是什麼記不太清楚了:< 可以到“安全性--用戶/用戶組”中查看)對目錄
   C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files
的權限改爲可寫或更高即可。

13System.Reflection.TargetInvocationException: 調用的目標發生了異常。 ---> System.UnauthorizedAccessException: 拒絕訪問。 --- 內部異常堆棧跟蹤的結尾 --- at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters) at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args) at System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args) at aspnetc.pubFunction.IISManager.Create(VirtualDirectory newdir) in f:/ziliao1/aspc/pubfunction/iismanager.cs:line 132

如果是在asp.net 下使用的話,要記得在  中添加
否則就會出現 “異常詳細信息: System.UnauthorizedAccessException: 拒絕訪問“。

iis訪問站點時出現輸入用戶名和密碼

1.iis->站點->屬性->目錄安全性->身份驗證和訪問控制->啓用匿名訪問
2.不知你有沒有添加這"IUSR_yourname"INTERNET 來賓賬戶!如沒有添加就應該是這個問題所引起.
(在"默認網站---屬性-----目錄安全性-----編輯------瀏覽-----高級-----立即查找"即可找到本賬戶,雙擊添加即可)
3.把你網站文件所在的目錄的,全權改成 everyone 再試一下先. 樓上們 所說的一般情況下默認是不會錯的.
4把iis目錄所在的文件夾權限加iuser_機器名

"Visual Studio .NET已檢測到指定的Web服務器運行的不是ASP.NET 1.1 版..."的解決辦法 選擇自 great_domino 的 Blog
關鍵字 "Visual Studio .NET已檢測到指定的Web服務器運行的不是ASP.NET 1.1 版..."的解決辦法
出處

昨天同事MM在調試一臺裝有.NET WEB服務器又出現了"Visual Studio .NET已檢測到指定的Web服務器運行的不是ASP.NET 1.1 版.."的錯誤,叫我去幫忙搞,搞了半天,才搞定,到底是什麼問題

原來她將IIS中"默認web站點"刪除,自己新建了一個站點,運行正常,就是無法編譯,新建也不成,出現非1.1版本錯誤,以前出現錯誤是因爲,服務器使用了固定IP,而管理員將屬性中的IP地址爲指定的ip地址!現在也很有必要做個總結!

步驟嘗試如下:

1.當然先確定一下,是否真的裝了1.1的版本,查看路徑 C:/WINNT/Microsoft.NET/Framework/v1.1.4322

2.也是很多人都知道,重新安裝 aspnet_regiis ,怎麼安裝,就不多說了,網上很多!

3.重啓IIS,重新啓動ASP.NET服務程序

4.如果你的Web服務器使用了固定IP:確定你的"Internet信息服務"中使用的是"默認web站點"並且其屬性中的IP地址爲"(全部未分配)",而不是你己指定的ip地址。可以修改"默認web站點"的名字,但不要刪除,一旦刪除,只要在新建的時候,名稱嚴格爲"默認web站點"也可以恢復

5.如果你的IE使用了代理的話,把 Bypass Proxy Server for local adresses勾上

6.如果你本身已經有個web站點,請把它卸載掉,不用重新安裝vs.net,只要重新安裝下iis也可以。

7.如果還是不行,那可真沒什麼辦法了,那就重裝IIS,FRAMWORK,.NET,操作系統吧

最後說一個安全問題,儘量不要把IIS指向默認路徑C:/Inetpub/wwwroot 這個路徑很容易受攻擊,最好重新指向一個新的路徑,然後把wwwroot文件夾刪除掉,需要用戶上傳文件的,千萬要阻止上傳".HTA"文件,做好訪問網站的權限,屏蔽執行HTA文件,做好數據庫備份工作!

又是工作中的一點經驗,供大家參考,少走彎路!


確實是Bug

1.你的Web服務器使用了固定IP:確定你的"Internet信息服務"中使用的是"默認web站點"並且其屬性中的IP地址爲"(全部未分配)",而不是你己指定的ip地址。然後在回到VS.NET中重試,或許可以解決。
2.以上方法不能解決問題時,考慮MSDN中的解決辦法,如下:
Visual Studio .NET 無法確定在 Web 服務器計算機上運行的是否爲 ASP.NET 1.1 版。該錯誤可能在幾種不同情況下發生。請檢查是否屬於以下情況:
a, 確保 .NET Framework 1.1 版安裝在 Web 服務器計算機上。有關詳細信息,請參見 Visual Studio .NET 軟件要求。
b, 如果 ASP.NET 已安裝在 Web 服務器計算機上,但仍然遇到此錯誤,則可能是配置問題。爲了糾正有問題的安裝或配置,可以使用名爲 aspnet_regiis 的 ASP.NET 實用工具。在類似如下所示的路徑中可以找到此命令行實用工具:
C:/WINDOWS/Microsoft.NET/Framework/v1.1.nnnn/
其中 nnnn 表示四位內部版本號。在最高版本號下查找。使用 /i 開關運行該實用工具:
aspnet_regiis /i
提示 您可以從命令的正確目錄中直接打開該命令窗口。從 Windows 的"開始"菜單,指向"程序"、"Visual Studio .NET 2003"、"Visual Studio .NET 工具",然後選擇"Visual Studio .NET 命令提示"。在窗口打開後,鍵入 aspnet_regiis /i。


不需要吧,在程序的vs.net的vs.net tool 的 vs.net command prompt下
輸入:
aspnet_regiis -r

問題就可以解決了。
仔細的看看 aspnet_regiis 的參數的意義
查詢參數 aspnet_regiis /all
會列出所有的參數
---------------------------------------------
1、當站點主目錄沒有創建應用程序:
通過FP擴展+虛擬目錄的方式來建立WEBAPP,步驟如下:
(1)、右擊站點---所有任務--配置服務器擴展
(2)、建立虛擬目錄***,並使其配置應用程序
(3)、在VS中建立WEB項目,名稱也爲***
(4)、通過通過FP擴展來建立WEB
2、當站點主目錄創建應用程序:
第一種方法--FP擴展:
(1)、右擊站點---所有任務--配置服務器擴展
(2)、在VS中建立WEB項目,名稱自己隨便定
(3)、通過通過FP擴展來建立WEB
第二種方法--WEB共享:
(1)在IIS中將IP地址改爲全部未分配
(2)將地址改爲127.0.0.1或LOCALHOST
3、還不能建立時請試用下列方法:
(1)“站點”---右鍵---“屬性”---“所有任務”---“重新計算 Web 上的超鏈接”
      然後在vs.net下通過frontpage服務器擴展創建  
   (2)指示要通過文件共享直接訪問 Web 服務器上的項目文件;不需要在該服務器上安裝 FrontPage 服務器擴展。
     安裝 Visual Studio .NET 時,將創建一個“VS Developers”(VS 開發人員)用戶組,並授予該用戶組對 inetpub/wwwroot 文件夾的讀/寫權限。想使用計算機上的文件共享創建 Web 項目的任何用戶都需要添加到“VS Developers”(VS 開發人員)用戶組中。新建的“VS Developers”(VS 開發人員)組沒有任何成員,所以,即使是安裝 Visual Studio 的用戶,也必須手動將自己添加到這個組中。
如果不希望將 Visual Studio 安裝到服務器上,可以通過 Visual Studio 安裝程序僅安裝服務器組件,以創建“VS Developers”(VS 開發人員)組。
   (3)win2003下:
在VS.NET中,爲了測試URL和UNC, VS.NET會在目錄下面生成一個.tmp文件,然後通過HTTP對該文件發出請求。但是在IIS 6中,出於安全考慮,tmp文件沒有註冊,默認情況下,會被block然後產生HTTP 404錯誤。
解決這個問題,請您參閱下面的方法:
1。打開IIS管理器。
2。右鍵點擊"Default Web Site"並選擇Properties.
3。 點擊"Http Header".
4。 點擊"MIME Types".
5。 點擊“New”。
6。 在Extension中,輸入".tmp". (不需要引號)
7。 在MIME Type中,輸入 "Temp". (不需要引號)
還有一種解決方法,您可以使用下面的命令行:
%systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/1/root/MimeMap .tmp,temp
在創建Web Application時,VS.Net需要在創建路徑下創建後綴名爲.tmp的臨時文件。
當VS.Net創建好項目之後,就會以HTTP的方式向Web文件夾尋求項目文件,同時也尋求臨時文件。由於windows2003在某些安裝步驟下的IIS沒有把.tmp文件設置爲MIME類型,所以IIS向VS.Net返回了未知文件類型的錯誤,即找不到文件。所以VS.Net認爲你的IIS路徑設置不對。

未指定的錯誤

Description: An unhandled exception occurred during 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.Runtime.InteropServices.COMException: 未指定的錯誤



試圖運行項目時出錯:無法在 WEB 服務器上啓動調試。您沒有調試該服務器的權限。
驗證您是服務器上“Debugger Users”組的成員。
1.作爲 Administrator 登錄。
  
2.運行 Administrator tools 中的 Computer management。
  
3.選擇 Local users and groups/groups 節點。
  
4.雙擊右邊窗格中的 Debugger Users 組。
  
5.單擊 Debugger users properties 對話框中的 Add 按鈕。
  
6. 鍵入用戶帳戶並單擊 OK。


設備未就緒。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.IO.IOException: 設備未就緒。

posted on 2006-03-23 11:15 DotNet菜園 閱讀(1843) 評論(1)  編輯 收藏 引用 收藏至365Key 所屬分類: AspNet

Feedback

private void PrepareConnection()
{
string ConnStr=System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];
connection=new SqlConnection(ConnStr);
string strSql="select * from Questions";
command = connection.CreateCommand();
command.CommandText= strSql;
command.CommandType=CommandType.Text;
adapter= new SqlDataAdapter();
adapter.SelectCommand = command;
commandBuilder = new SqlCommandBuilder(adapter);
adapter.UpdateCommand=commandBuilder.GetUpdateCommand();
adapter.DeleteCommand=commandBuilder.GetDeleteCommand();
adapter.InsertCommand=commandBuilder.GetInsertCommand();
}

爲什麼出現:

對於不返回任何鍵列信息的 SelectCommand 不支持 UpdateCommand 的動態 SQL 生成。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.InvalidOperationException: 對於不返回任何鍵列信息的 SelectCommand 不支持 UpdateCommand 的動態 SQL 生成。

源錯誤:


行 39: adapter.SelectCommand = command;
行 40: commandBuilder = new SqlCommandBuilder(adapter);
行 41: adapter.UpdateCommand=commandBuilder.GetUpdateCommand();
行 42: adapter.DeleteCommand=commandBuilder.GetDeleteCommand(); 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章