在global.asax.cs中的Application_Start事件中,我添加了一些初始化代码。此代码在派生的线程(使用new thread()创建)中运行。初始化代码使用Server.MapPath获取文件的物理路径。但是,我在日志文件中多次出现错误:服务器操作在此上下文中不可用无论如何,我发现了一个例外。初始化并不重要,因为即使它不成功,对我来说也不是问题。我的问题是:
- 为什么我收到服务器不可用错误
- 在应用程序的正常执行过程中,处理的异常是否会导致任何问题,如Invalid Viewstate。我们后来在日志中注意到了很多这样的情况——无效视图状态。我相信它不能。如果我错了,请纠正我
感谢
Vikas
Server对象通过HttpContext.Current
引用,即相对于当前请求。我怀疑Application_Start
不提供它,因为当时没有请求。不管怎样,它都不能从单独的线程中可靠地使用,因为线程彼此独立运行,因此任何请求都可能在线程尝试访问它之前就已经开始或完成。
请尝试使用HostingEnvironment.MapPath()
,因为这是一个静态方法。