2009-07-15 36 views
3

使用P/Invoke時,添加[SuppressUnmanagedCodeSecurity]可以在受信任的場景中將來自託管代碼的調用加速到非託管代碼。如何爲回調設置SuppressUnmanagedCodeSecurity?

當我從非託管代碼調回託管代碼時,有什麼方法可以在相反方向完成相同的事情,以加快速度?在我們的應用程序中,性能分析顯示在這方面開銷要高得多。

回答

0

我不認爲有任何這樣的安全檢查從非託管到託管。

如果您進入Process Explorer,您可以看到安全檢查發生時的計數。找到你的過程,點擊屬性,轉到.NET選項卡,然後從下拉菜單中選擇「.NET CLR安全性」。

我寫了一個簡單的測試應用程序,只調用非託管代碼,傳遞一個委託,然後非託管代碼調用立即委託。在我的測試循環中,每次調用都有一次安全檢查。

然後我說[SuppressUnmanagedCodeSecurityAttribute()]到託管--->未管理的呼叫和安全檢查去了0

+0

但我在與回調速度類似的問題,所以讓我知道,如果你」我學到了有用的東西。 – 2010-03-22 19:02:27