httpcontext
今天发现一段特别的程式码
今天发现一段特别的程式码,我们有个方案(Solution)里有个共用的类别库(Class Library)专案,此类别库专案同时提供给多个 Windows 应用程序、Windows 服务以及 ASP.NET 应用程序来使用,但同事用了有点复杂的程式撰写方法取得目前的 .NET 程式是否为 ASP.NET 执行环境,因此特别撰写一篇短文来提醒较为简单易懂的方式。 成员使用了 System.Diagnostics 命名空间下的 Process 类别来取得目前正在执行的处理序(Process): 这样的写法在开发环境可以执行,但部署到正式机的时候就很有可能会挂点,因为 Process 类别必须在 FullTrust 的环境下才能使用: 或是执行在 Visual Studio 内建的开发人员服务器下: 类别库在使用这段程式码判断时记得要载入 System.Web 组件参考才行喔! 若你将 WCF 服务装载(Hosting)在 IIS 服务下执行,其 HttpContext.Current 属性将会是 null,因此在类别库中最好不要使用 HttpContext.Current 属性来判断目前是否为 Web 环境。