2012-11-02 51 views
0

啃我的大腦,我嘗試了許多在線發現的「解決方案」。基本上我們是從供應商演示這個應用程序,並且初始安裝正常工作。該應用程序實際上是四種不同的應用在我們的Windows服務器上,我們有我們的主站點,其中有四個應用程序供其供應商使用。所有這些都使用默認的應用程序池。一切正常。ASP安全例外:相同但不同

他們要求我們更新軟件,事情到了地獄。更新涉及刪除所有舊文件,並用他們發送給我們的新文件替換它們,然後更新我們的SQL數據庫。我們完成了兩個應用程序發生了錯誤:

Exception Details: System.Security.SecurityException: Request for the permission of type 
'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089' failed. 

我找到了很多關於此的答案。更改加載用戶配置文件到ture,試過,取消阻止所有的dll文件,試過了。與信任級別相混淆,嘗試了這一點。我已經把應用程序分成了自己的池(在供應商的建議下,但他們似乎沒有線索),並且在弄亂了它之後,我現在有三個應用程序正在運行,奇怪的是其中一個最初運行的應用程序是沒有運行的那個。事情是應用程序最初運行,我們所做的只是將文件更新爲新版本。

我的問題我猜是哪裏調用System.Web.AspNetHostingPermission?這只是一個普通級別的Asp應用程序?我正在拉我的頭髮,我們可能只是告訴供應商如果我們無法運行他們的產品,他們的產品在其他地方,但我99%肯定這是一個服務器設置問題。事情是,我從來沒有處理更新過程中的軟件,刪除所有文件,並將其替換爲此zip文件中的文件。

對此有任何想法。我覺得我已經嘗試了大多數明顯的解決方案,但需要更深入的思考。

+0

假設已閱讀[MSDN](http://msdn.microsoft.com/zh-cn/library /system.web.aspnethostingpermission.aspx) - 它與ASP.Net應用程序如何在託管環境中運行有關嗎?您是否完全控制了服務器?您是否曾嘗試在本地/ dev中運行應用程序?它可以因爲更新包括超出/違反(託管)服務器中的「信任級別」的調用 - 因此嘗試在本地/ dev中嘗試運行在本地/ dev中,ASP.net運行在「完全信任」中。如果事情在本地/開發/完全信任下順利運行,那麼這有希望標識一個地方開始...... – EdSF

+0

附錄(用完字符) - 爲了清楚起見,在託管環境中,ASP.Net通常設置爲「中等信任」 - 所以即使像SMTP一樣受到影響(例如僅限於端口25,不能使用其他端口)。您不能在您的Web App web.config中「覆蓋」信任設置(框將使用機器級配置)。 – EdSF

回答

0

這最終可能是由第三方的應用程序造成的。他們的安裝說明沒有說明每個應用程序都有單獨的應用程序池。 (基本上有4個部分,一旦我們切換到運行在其自己的應用程序池上的每個應用程序,問題就消失了。