有没有办法在运行时确定应用程序是WinForms还是Web?
[编辑]
如果在我的类库中同时引用System.Web
和System.Windows.Forms
,是否会出现问题?
[总结](到目前为止)
到目前为止我了解到:
- 如果在异步线程中检查,
HttpContext.Current
将为null
,因此不能可靠地在帮助方法中使用。HttpRuntime.Cache
并不能真正帮助我,因为我根本不需要缓存上下文(或者我错过了什么?)。 - 另一方面,
System.Reflection.Assembly.GetEntryAssembly()
似乎在Web应用程序中返回null
,而在WinForms中返回非空值。这应该被视为理所当然吗?应该有更多像这样的“hack”,那么应该使用哪一个? - 根据this thread,在帮助库中同时引用
System.Web
和System.Windows.Forms
应该没有问题。