hit counter for blogger

黑暗執行緒

 黑暗執行緒搬新家囉!! http://www.darkthread.net

11/30/2006

KB-無法將放在網路磁碟機的Custom Control加入VS.NET 2003工具箱

試著在VS.NET 2003的工具箱(Toolbox)裡新增一個來自網路共享資料夾(Shared Folder)或網路磁碟機(Network Drive Mapped to a Shared Folder)的自訂控件(Custom Web Control)時,可能會發生了以下錯誤:

Insufficient state to deserialize the object. More information is needed.
要還原序列化物件狀態不足。 需要更多資訊。(中文版)

VSNET2003AddToolboxFailure

這個不知所云的序列化錯誤,真正的原因來自於.NET的安全管控機制。在預設的安全原則(Runtime Security Policy)中,來自網路分享的Managed Code,權限會受到限制。網路上找到的一些做法(這裡這裡)是將Local Intranet的安全等級直接調成FullTrust,省事歸省事,但一口氣對整個Intranet門戶大開似乎違背了"只對絕對必要範圍開放權限"的安全原則,等於認定只要跟你同一個LAN的都是好人,增加了不少被攻擊的風險。

我建議的做法是參考微軟的這篇KB,利用.NET 1.1組態工具,新增一個Code Group Policy,只針對這個放DLL的網路資料夾開放FullTrust權限。設定完成再重新啟動VS.NET 2003,就可以順利將自訂控件加入工具箱了。

0 Comments:

Post a Comment

<< Home