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檔案,做好Database Backup工作。
又是工作中的一點經驗,供大家參考,少走彎路。
確實是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();