I need to use Server.MapPath()
to combine some files path that I store in the web.config
.
However, since Server.MapPath()
relies on the current HttpContext (I think), I am unable to do this. When trying to use the method, even though its "available", I get the following exception:
Server operation is not available in this context.
Is there another method that can map a web root relative directory such as ~/App_Data/
to the full physical path such as C:\inetpub\wwwroot\project\App_data\
?
You could try HttpContext.Current.Server.MapPath("/") - That's how I have referenced it before in classes.
You could try System.Web.Hosting.HostingEnvironment.MapPath().
No HttpContext required.
When in Global.asax, use the context object:
context.Server.mappath()
Context lets you access also the session collection, the request object, the response object. Very useful when you want to log errors, for example
Use
AppDomain.CurrentDomain.BaseDirectory
becauseContext
might return null !!