我相信我在我的本地機器上運行ASP.NET頁面時已成功模擬了我自己的用戶帳戶。ASP.NET可以模擬用戶刪除性能計數器類別嗎?
使用描述here的方法,我已成功將ASPNET的WindowsIdentity.GetCurrent().Name
更改爲我的域帳戶。
我可以成功寫入只有我的帳戶有權訪問的文件系統上的文件。但是,當我嘗試刪除性能計數器類別時,我得到訪問被拒絕。
我對註冊表的分支進行審計,並告訴我MyMachine \ ASPNET在對象訪問上失敗。
這裏是它失敗的代碼:
if (PerformanceCounterCategory.Exists (PerfmonCategory))
PerformanceCounterCategory.Delete (PerfmonCategory);
及其對刪除呼叫失敗。
(我的帳戶是admin,我可以在ASP.NET上下文外成功運行相同的代碼)。
我懷疑這System.Diagnostics名稱空間調用實際上是調用一些COM進程,並以某種方式因爲第二跳而被反彈。任何人都可以確認可能會發生什麼?
編輯: 例外: 訪問被拒絕 說明:在當前Web請求的執行過程中發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。
異常詳細信息:
System.ComponentModel.Win32Exception:訪問被拒絕
在完全信任運行。
如果你在部分信任下運行,那麼粘貼如何拋出異常我打賭這是一個CAS例外 – Kev 2009-01-30 00:48:43