1
我有一個ASP.NET項目,我目前正在處理。有一個C#文件(dbedit.cs),用於直接訪問和編輯2個XML數據庫文件。我如何創建dbedit.cs的XML文件的相對路徑(都在同一目錄中)?它必須是可移植的,所以它不能被硬編碼。dbedit.cs也可以從同一解決方案中的兩個其他項目訪問,所以dbedit.cs的組裝路徑根據哪個項目訪問它是不同的。ASP.NET相對路徑
這不會爲工作的原因所在:
任何幫助將不勝感激。
這不起作用,因爲dbedit.cs是一個普通的C#文件,所以沒有HttpContext的,可以在它被調用。它可以被幾個aspx頁面訪問,以及一個用作GUI前端編輯XML文件的窗體。 – jnevelson 2010-10-12 22:30:12
你也可以通過gui來訪問它,那麼這就是一個問題。因爲當它從一個aspx訪問時,即使它是一個常規的C#文件,HttpContext仍然可用。我可能會通過檢查它是否是一個Web應用程序來解決這個問題,然後調用上面的代碼,否則得到程序集工作目錄而不是用相對路徑(谷歌它)來進行協調。就像'if(HttpContext.Current == null)return Path.Combine(Path.GetDirectoryName(Assembly.GetAssembly(typeof(MyClass))。CodeBase),relativePath);否則返回HttpContext.Current.Server.MapPath(relativePath);'。雖然沒有嘗試過。 – Alxandr 2010-10-12 22:35:59