2012-06-05 38 views
0

我有一個大型項目主要用ASP經典寫的。它在幾千個文件中使用ADODB(主要是記錄集)。雖然可以自定義項目,但是必須將項目移至「中等」信任。試圖加載中等信任下的ADODB.dll原因:帶ADODB的Asp Classic需要遷移到Medium Trust

System.Security.SecurityException:該程序集不允許 部分受信任的調用方。

  1. 我無法找到一個方法來禁用從CustomMedium信任級別控制。有這樣的事嗎?

  2. 是否有其他方法可以在Medium Trust下加載舊的ADODB?我無法弄清楚如何強名ADODB,因爲它不是開源的。

  3. 是否有其他庫與ADODB足夠相似以至於它可以替代它,也許是一個可以被強名爲開源的庫?

  4. 任何其他的想法不涉及到成千上萬的頁面遷移到ASP.NET/ADO.NET?

,打破了應用程序的特定呼叫是

using ADODB; 
... 
namespace appLib 
{ 
    public Recordset recordset; 
    private void init() 
    { 
     ... 
     this.recordset = new RecordsetClass(); //This throws SecurityException 

回答

0

信託的概念是具體到.NET,而不是傳統的ASP。除非您使用.NET處理程序運行經典的.asp代碼,否則TRUST的相關概念並不相關。

+0

我不知道代碼是如何執行的,但ASP Classic頁面在自定義介質信任下加載得很好。這是一個現有的應用程序,我不是Microsoft堆棧的專家。將應用程序從完全信任轉換爲我們所強加的東西 - 我不能說這不相關。從Full到CustomMedium或Medium中斷呼叫ADODB庫。 –

+0

你在IIS 6或7上運行嗎?什麼版本的.NET針對您的應用程序池設置?如果IIS 7是您的網站的應用程序池設置爲經典或集成管道?你的網站有一個web.config文件嗎?你可以編輯你的問題,包括用於打開數據庫連接的代碼嗎? –

+0

IIS 7. .NET 2,但我用4試過,結果相同。集成管道。是的,有一個web.config文件。現在編輯OP。 –