我发现自己需要根据相对于正在运行的ASP.NET Web应用程序的物理位置的文件来配置log4net.我们希望尽早启动记录器,因此Application_Start似乎是一个合适的位置.在IIS6中,这工作正常并且已经运行了很长时间,但现在我们转移到IIS7,这将不再起作用:
string absolutePath = HttpContext.Current.Request.PhysicalApplicationPath;
因为HttpContext.Current在许多global.asax(应用程序,会话)事件中不可用.这是一个老消息,我们都知道它引起了臭名昭着的Request is not available in this context error.我们不想回到经典模式.
现在,问题很简单:不使用HttpContext,是否可以找到当前运行的Web应用程序实例的物理位置?
解决方法
请尝试
HttpRuntime.AppDomainAppPath.有关详细信息,请阅读Mike Volodarsky发布的
IIS7 Integrated mode: Request is not available in this context exception in Application_Start.
原文地址:https://www.jb51.cc/csharp/99016.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。