Asp.net 获取System.Web程序集引用的安全方法

Asp.net 获取System.Web程序集引用的安全方法,asp.net,Asp.net,我当前正在web服务器控件中使用以下代码行获取对已加载系统的引用。web程序集: var assembly = AppDomain.CurrentDomain.GetAssemblies() .Single(i => i.FullName.Contains("System.Web,")); 我有点担心,在某些情况下,单个方法调用可能会失败,因为(1)找不到程序集,或者(2)返回了多个程序集。在调试器中,似乎只有一个程序集与选择器匹配(我在System

我当前正在web服务器控件中使用以下代码行获取对已加载系统的引用。web程序集:

var assembly = AppDomain.CurrentDomain.GetAssemblies()
                   .Single(i => i.FullName.Contains("System.Web,"));
我有点担心,在某些情况下,单个方法调用可能会失败,因为(1)找不到程序集,或者(2)返回了多个程序集。在调试器中,似乎只有一个程序集与选择器匹配(我在System.Web后面加了逗号,其他所有程序都显示为“System.Web.Whatever”),但这并不意味着加载的所有程序集的全名永远不会包含此文本)

有没有更好的方法来识别我正在寻找的引用,以便我知道它总是能够正确地找到它


谢谢。

最好的方法是使用系统中已知的类型。Web程序集,例如:

var assembly = typeof(System.Web.HttpContext).Assembly;

最好的方法是使用系统中已知的类型。Web程序集,例如:

var assembly = typeof(System.Web.HttpContext).Assembly;

首先,你可以用“StartsWith”而不是“Contains”。首先,你可以用“StartsWith”而不是“Contains”来爱这个!非常完美,更加优雅。喜欢这个!工作完美,更加优雅。