2016-12-28 60 views

回答

2

正如下面的文檔所闡明的那樣;

鑑於這些屬性,SQL服務器指定的HPA的列表是 通過代碼訪問安全 (CAS)不允許在託管環境。 CAS要求是由三個SQL Server 權限集之一指定:SAFE,EXTERNAL_ACCESS或UNSAFE。在使用CREATE ASSEMBLY語句在 服務器上註冊程序集時指定了這三個 安全級別之一。所述 SAFE或EXTERNAL_ACCESS權限內執行的代碼設置必須避免某些類型或 構件具有施加的 System.Security.Permissions.HostProtectionAttribute屬性。

的HostProtectionAttribute是不是一個安全許可儘可能多,在於**它標識特定代碼 構建,無論類型方法,該主機可能不允許

I couldn't figure out why we use it. 

我們用它來幫助我們在主機環境中編寫可預測的代碼,因爲

它確定了具體的代碼結構,無論是類型或方法,主機可能不允許

Suppose that we have a method that has this attribute and what happens if I delete it? 

當你刪除它,如果該方法包含類型或某些代碼構造,也許不允許主機訪問,您永遠不會知道,因此可能會導致您的代碼在主機環境(如SQL Server)中發生不可預知的行爲。我希望這會使它更有幫助。

相關問題