2009-11-16 67 views
13

嗨,我正在开发一个ASP.net Web应用程序。 我需要找到网站(或包含程序集的bin目录)的当前位置(物理)。ASP .net当前物理位置

我已经尝试使用Directory.GetCurrentDirectory(),并返回我ASP.net临时目录。

我真的不喜欢的想法包括应用在我的配置文件中设置了绝对路径(EWW!)

任何帮助,将不胜感激! :)

结论:

我应该给一些背景,为什么我想的物理文件路径。 谢谢你们对问题的及时回应:)

我使用XSL-FO for .net(FO.net库)来生成PDF。在FO中嵌入图像需要一个绝对路径给出:

<fo:external-graphic src="C:\MyWebsite\images\image1.jpg" /> 

我需要做什么设置当前目录到网站(或bin目录下),这将允许XSL FO渲染器知道在哪里找到图像。

回答

33

你需要System.Web.HttpRuntime.BinDirectory(物理路径文件夹)和System.Web.HttpRuntime.AppDomainAppPath(到顶层ASP.NET应用程序文件夹的物理路径)。

+0

谢谢贡萨洛,那在我的情况下效果很好。 :) – Russell 2009-11-16 22:25:01

+0

是的,感谢您展示这两个参考:) – Chau 2010-08-26 13:44:47

5

这取决于您想要对路径做什么,但通常的方法是Server.MapPath()。例如:

YourControl.src = Server.MapPath("~/images/image1.jpg"); 

这将返回指定文件的物理路径。

+1

嗨瑞克,谢谢MapPath是一个方便的方法要知道,但它并不真正适合我的情况。我即将更新我的问题,提供一些更详细的信息,说明为什么要提供一些背景信息,对不起,我应该首先完成这项工作。谢谢你的帮助 :) – Russell 2009-11-16 22:26:08