在普通C#类中,有什么办法可以知道自己是否是在web程序中?

antimicro 2007-07-06 05:11:54
希望某些类可以在winform和web程序中通用但局部需要特殊处理,不知如何才能做到。
...全文
197 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
windinwing 2007-07-07
  • 打赏
  • 举报
回复
还没说完 
接着
System.Threading.Thread.GetDomain().SetupInformation.CachePath
返回如下
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\4a7c1879
检索 Temporary ASP.NET Files

看看配置文件是否是web.config
System.Threading.Thread.GetDomain().SetupInformation.ConfigurationFile

检查从进程中启动的目录
System.Environment.CurrentDirectory
返回如下
c:\windows\system32\inetsrv
查找最后是不是inetsrv就行了

System.Environment.UserName
是不是 NETWORK SERVICE

System.Environment.UserInteractive 是否==false


这些方法都可以


windinwing 2007-07-07
  • 打赏
  • 举报
回复
System.Threading.Thread.GetDomain().FriendlyName
web程序会返回如下
/LM/W3SVC/262538068/Root-6-128282435125066608

检查是否有W3SVC就行了
exu 2007-07-07
  • 打赏
  • 举报
回复
判断System.Web.HttpContext.Current就可以了,如下:
if(System.Web.HttpContext.Current==null)
{
//不是Web应用程序
}
else
{
//是Web应用程序
}
fangwancong 2007-07-06
  • 打赏
  • 举报
回复
不清楚楼主的意思。主要看你的类是什么样的操作。这跟项目的层次有很有的关系。如果真的有需要分Web和Winfrom区别,应该把这些逻辑写在业务外观层上。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧