开发了.net类库后,可能供winform程序调用,也可能供web程序使用,在类库中如何判断,当前是哪一种应用在调用它?

解决方案 »

  1.   


    HttpContext context = HttpContext.Current;
    if (context != null)
    {
        //Web
    }
    else
    {
        //Win
    }
      

  2.   

    简单的判断一下配置文件是Web.config还是application.exe.config
      

  3.   

    最好的设计是Web用Web的library,WinForms用WinForms的library。请检查你的代码,如果一个dll既依赖于System.Windows.Forms又依赖于System.Web两个dll,那就好仔细检讨一下当初怎么设计的了。如果是两个框架都支持的library,则应该不依赖于这两个dll的任何一个,例如.NET自己的System.Data.dll。
      

  4.   

    判断AppDomain.CurrentDomain.SetupInfomation.ConfigurationFile的文件名是不是web.config