2012-06-09 35 views
0

得到這個:System.Security.SecurityException - 既不是ASP.NET也不IE參與

System.Security.SecurityException:請求 類型的權限「System.Security.Permissions.FileIOPermission,mscorlib中, Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089' 失敗。 (在System.Security.CodeAccessSecurityEngine.Check(對象 需求,StackCrawlMark & stackMark,布爾isPermSet)....

有很多與此相關的問題在網絡上引用的,但他們都指ASP .NET應用程序或它們與該製作成GAC它在某種程度上「違法」的程序集 - 這不是我的問題

我有一個本地驅動器d:\包含此:

D:\APLData\T 

D:\APLData\I 

D:\APLData\M 

D:\APLData\P 

D:\APLData\Z 

在。有一段時間我有網絡驅動器T,我,M,P和Z正好指向這些文件夾。換句話說,這兩條路徑都指向同一個文件:

D:\AplData\T\FlipDB_Dev\Test\ShareTest.DWS 

T:\FlipDB_Dev\Test\ShareTest.DWS 

現在,當我啓動該程序從網絡驅動器(T)的問題,然後我得到的錯誤。當我從本地驅動器(D)啓動程序比它的工作。

任何想法如何解決這個問題?

+0

我發現這個:[link](http://stackoverflow.com/questions/148879/why-does-my-net-application-crash-when-run-from-a-network-drive/10966992#10966992 ),它最初逃脫了我的注意,因爲它沒有包含我添加到該線程的錯誤消息。 – KaiJaeger

+0

你的代碼從哪裏執行?這是一個Windows應用程序? Web應用程序? –

回答

0

您是否檢查過文件/文件夾的權限。尤其是當鏈接到局域網上的文件時,ASP.NET將不會自動擁有訪問這些文件的權限,因爲在物理託管該文件的計算機上設置了權限。

您可以嘗試的一件事是爲用戶組「Everyone」設置完整權限,但是,一旦找到正確的權限級別,請不要忘記刪除該權限。

更新: 檢查這個環節,可能會派上用場

http://www.codeproject.com/Articles/19830/How-to-Access-Network-Files-using-asp-net

+0

不,這與我的問題無關:這是關於.NET安全性,而不是文件權限。 – KaiJaeger

+0

當有權限問題時,ASP.NET SecurityExceptions會發生,並且由於您在嘗試訪問文件時會拋出異常,這很可能是權限問題。但是,如果將文件用作組件,則可能需要更高的信任級別來運行它。但最有可能的是它是一個權限問題,你可以通過將映射網絡驅動器中的文件複製到與Web應用程序相同的目錄並嘗試從此處引用它來嘗試實現此目的。 – JaggenSWE

0

映射驅動器是特定於用戶。如果您有權限並且您正在運行應用程序,那麼它應該可以工作,如果這是不同的帳戶,那麼您都需要權限並將相同的驅動器映射到相同的地方。節省一點點心痛,並使用UNC。

+0

不,這與我的問題無關:無論如何,這是同一個用戶。 – KaiJaeger

相關問題