Tom*_*asi 49 asp.net iis http httpcontext
怎么做?
我不想用这个:
HttpContext.Current.Server.MapPath
Run Code Online (Sandbox Code Playgroud)
是否有一个类似的功能,我可以调用,而不需要httpcontext?
例如,如果一个线程做一些东西我不能使用httpcontext,但我仍然需要获取应用程序的路径.并且我不能将上下文作为参数传递或从共享var中读取它.
Tom*_*bes 56
有几种选择:
WebApplication -> Web root folder
UnitTest -> ArgumentNullException
ConsoleApplication -> ArgumentNullException
Run Code Online (Sandbox Code Playgroud)
AppDomain.CurrentDomain.BaseDirectory
WebApplication -> Web root folder
UnitTest -> ...\AppDir\bin\Debug
ConsoleApplication -> ...\AppDir\bin\Debug
Run Code Online (Sandbox Code Playgroud)
HostingEnvironment.ApplicationPhysicalPath
WebApplication -> Web root folder
UnitTest -> null
ConsoleApplication -> null
Run Code Online (Sandbox Code Playgroud)
我建议使用AppDomain.CurrentDomain.BaseDirectory,因为它可以在任何类型的项目中使用,并且可以设置它.
例如,您可以通过命令将UnitTest BaseDirectory设置为指向Web根文件夹AppDomain.CurrentDomain.BaseDirectory:
AppDomain.CurrentDomain.SetData("APPBASE", "path to your web root");
Run Code Online (Sandbox Code Playgroud)