zoukankan      html  css  js  c++  java
  • 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"
  • 相关阅读:
    poj 1080 ——Human Gene Functions——————【最长公共子序列变型题】
    hdu 2845——Beans——————【dp】
    nyoj 214——单调递增子序列(二)——————【二分搜索加dp】
    nyoj 104——最大和——————【子矩阵最大和】
    nyoj 10——skiing————————【记忆化搜索】
    >>8) & 0xFF中的 >> 和 &0xFF 的作用
    C语言中的左移与右移 <<, >> 位运算
    ByPass Mode(略过模式或旁路模式)
    C语言&C++ 中External dependencies
    xor 和 or 有什么区别
  • 原文地址:https://www.cnblogs.com/yj716716yj/p/8651284.html
Copyright © 2011-2022 走看看