• C#里面获取web和非web项目路径


    非Web程序获取路径几种方法如下:

    1.AppDomain.CurrentDomain.BaseDirectory
     2.Environment.CurrentDirectory
    3.HttpRuntime.BinDirectory The path to the current application's/bin directory;
     
     

    Web程序

    HttpCurrent.Context.Server.Mappath()

    HttpContext.Current返回当前请求的 HttpContext 对象。如此我们就可以直接访问Request、Response、Session、Application等对象,和Page中访问等同。 我们无需再将Page用参数的方式传递到我们的类库对象中。
    HttpRuntime 为当前应用程序提供一组 ASP.NET 运行时服务。我们可以通过这个类获得当前ASP.NET工程的一些信息。 HttpRuntime.AppDomainAppVirtualPath : 项目虚拟路径 HttpRuntime.AppDomainAppPath : 项目物理路径 HttpRuntime.BinDirectory : BIN目录物理路径 HttpRuntime.ClrInstallDirectory : CLR安装路径(可以用来获取CLR版本号)
    输出: AppDomainAppId: /LM/W3SVC/1/Root/Learn.Test.Web AppDomainAppPath: D:SystemMy DocumentsVisual Studio ProjectsLearn.TestLearn.Test.Web AppDomainAppVirtualPath: /Learn.Test.Web AppDomainId: /LM/W3SVC/1/Root/Learn.Test.Web-9-127652564154400560 AspInstallDirectory: C:WINDOWSMicrosoft.NETFrameworkv1.1.4322 BinDirectory: D:SystemMy DocumentsVisual Studio ProjectsLearn.TestLearn.Test.Webin ClrInstallDirectory: c:windowsmicrosoft.netframeworkv1.1.4322 CodegenDir: C:WINDOWSMicrosoft.NETFrameworkv1.1.4322Temporary ASP.NET Fileslearn.test.web416801327c880883 IsOnUNCShare: False MachineConfigurationDirectory: c:windowsmicrosoft.netframeworkv1.1.4322Config
    HostingEnvironment
    灵活运用技巧:
    当使用非WEB程序或使用异步调用时,想要取得根目录下的某目录可以使用如下代码:
    HttpRuntime.BinDirectory + "../目录名";
    获取网站根目录的方法有几种如:
    Server.MapPath(Request.ServerVariables["PATH_INFO"]) Server.MapPath("/") Server.MapPath("") Server.MapPath(".") Server.MapPath("../") Server.MapPath("..")  Page.Request.ApplicationPath 运行结果: C:InetpubwwwrootEnglishClubmanageWebForm1.aspx C:Inetpubwwwroot C:InetpubwwwrootEnglishClubmanage C:InetpubwwwrootEnglishClubmanage C:InetpubwwwrootEnglishClub C:InetpubwwwrootEnglishClub
    以上的方法可以在.aspx中访问,但是如果你在。cs文件就不能用。
    HttpContext.Current.Server.MapPath(); System.Web.HttpContext.Current.Request.PhysicalApplicationPath
    在.cs文件中可以用。
    但是HttpContext.Current.Server.MapPath();这个获取的是文件的路径而不是根目录。
    只有System.Web.HttpContext.Current.Request.PhysicalApplicationPath    这个才是获取的根目录,在写获取数据库路径是应该用这个,其他的都有问题。
    测试过,在有些web项目的cs文件中可以这样用。但是最好是用System.Web.HttpContext.Current.Server.MapPath("/SystemManage/Hotel/LocList.xml");
    在类库项目中,这个通常是不能用的,这个时候需要引用程序集,引用命名空间System.Web;才行。
    System.Environment.CurrentDirectory + @"IPMS.WebaboutMe.txt"
  • 相关阅读:
    前后端分离
    Do a “git export” (like “svn export”)?(转)
    最有价值的信息就是这样的信息:大象是绳子,大象是扇子,大象是柱子…… 这样的信息往往是扭曲的,残缺的,隐晦不明的(转)
    说服他。说不服再按着他的去办(转)
    动手学习TCP:数据传输(转)
    应用程序框架实战十三:DDD分层架构之我见(转)
    UVA11627-Slalom(二分法)
    数据库系统原理及其应用总结---ShinePans
    cocos2d-x 3.0游戏实例学习笔记 《跑酷》第四步--地图循环&主角加入动作
    Android学习四、Android中的Adapter
  • 原文地址:https://www.cnblogs.com/yj716716yj/p/8651284.html
Copyright © 2020-2023  润新知