我想檢測我的程序集是否在運行時加載到SQL託管CLR中以便安全地處理AppDomain FriendlyName字符串。如何在運行時檢測SQL託管CLR
不幸的是,在這種情況下,AppDomain.CurrentDomain.DomainManager.EntryAssembly
是null
。
任何幫助表示讚賞。 TIA。
我想檢測我的程序集是否在運行時加載到SQL託管CLR中以便安全地處理AppDomain FriendlyName字符串。如何在運行時檢測SQL託管CLR
不幸的是,在這種情況下,AppDomain.CurrentDomain.DomainManager.EntryAssembly
是null
。
任何幫助表示讚賞。 TIA。
我用SqlContext.IsAvailable
,以確定是否我的SQLCLR下運行......它的工作原理治療..
http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.server.sqlcontext.isavailable.aspx
這是確定代碼是否在SQL Server內部運行的最佳方法,如果不是,AFAIK。 – 2015-08-17 04:35:43
那豈不是觀察前面回答自己的問題? – MSalters 2010-10-20 13:09:10
否。目前我不知道這種行爲是否會與託管CLR的其他應用程序一起展示。 – 2010-10-20 13:36:19
@omatrot我非常肯定,SQL Server是Windows操作系統之外唯一的另一個CLR主機(至少,如果有其他人,我相信它是唯一具有定義的主機保護屬性的主機)。不過,你是否看到@spgennard的答案?這是確定代碼是否在SQL Server內運行的正確方法。 – 2015-08-17 04:32:44