簡體   English   中英

我怎樣才能使用global.asax中的Server.MapPath()?

[英]How can I use Server.MapPath() from global.asax?

我需要使用Server.MapPath()來組合我存儲在web.config中的一些文件路徑。

但是,由於Server.MapPath()依賴於當前的HttpContext(我認為),我無法做到這一點。 在嘗試使用該方法時,即使它“可用”,我也會遇到以下異常:

在此上下文中無法使用服務器操作。

是否有另一種方法可以將Web根目錄相對目錄(如~/App_Data/映射到完整的物理路徑,例如C:\\inetpub\\wwwroot\\project\\App_data\\

您可以嘗試System.Web.Hosting.HostingEnvironment.MapPath()

不需要HttpContext。

使用AppDomain.CurrentDomain.BaseDirectory因為Context可能會返回null!

在Global.asax中時,使用上下文對象:

context.Server.mappath()

Context還允許您訪問會話集合,請求對象和響應對象。 例如,當您想記錄錯誤時非常有用

您可以嘗試HttpContext.Current.Server.MapPath(“/”) - 這就是我之前在類中引用它的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM