社区
C#
帖子详情
线程Thread调用时System.Web.HttpContext.Current为NULL的问题
yellowtree12
2011-11-04 05:16:06
我想调用System.Web.HttpContext.Current.Server.MapPath("strMath"),可是提示错误,系统找不到该文件,如果我的文件是放在C:\windosw下,那这段代码该怎样写System.Web.HttpContext.Current.Server.MapPath("strMath"),注意是线程Thread调用。
...全文
349
6
打赏
收藏
线程Thread调用时System.Web.HttpContext.Current为NULL的问题
我想调用System.Web.HttpContext.Current.Server.MapPath("strMath"),可是提示错误,系统找不到该文件,如果我的文件是放在C:\windosw下,那这段代码该怎样写System.Web.HttpContext.Current.Server.MapPath("strMath"),注意是线程Thread调用。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xysxjf
2011-12-02
打赏
举报
回复
自定义一个方法
public static string MapPath(string strPath)
{
if (System.Web.HttpContext.Current != null)
{
return System.Web.HttpContext.Current.Server.MapPath(strPath);
}
else //非web程序引用
{
strPath = strPath.Replace("/", "");
strPath = strPath.Replace("~", "");
if (strPath.StartsWith("\\"))
{
strPath = strPath.TrimStart('\\');
}
return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
}
}
wsxqaz
2011-11-04
打赏
举报
回复
Environment.CurrentDirectory
krenyelang
2011-11-04
打赏
举报
回复
string strpath=@"C:\windosw";
yellowtree12
2011-11-04
打赏
举报
回复
我是在cs里面写这个,怎样在cs里面使用这个获取应用程序根目录的路径?
leoboss1
2011-11-04
打赏
举报
回复
我也不会
wsxqaz
2011-11-04
打赏
举报
回复
你是在asp.net程序里调用了这个么?
线程
Thread
调用
时
System.
Web
.
Http
Context
.
Current
为
NULL
文章详细介绍了在
Web
程序中使用
线程
异步处理
时
,遇到引用System.
Web
导致
Http
Context
.
Current
.Server.MapPath返回
NULL
值的
问题
,并提供了一个自定义静态方法MapPath的解决方案,确保了程序的正常运行。
ASP.NET
Http
Context
.
Current
线程
上下文陷阱与安全替代方案
本文深入剖析 ASP.NET 中
Http
Context
.
Current
的
线程
局部存储(TLS)本质,揭示其在 Timer、Cache 回调、APM 异步等非请求
线程
中为
null
的根本原因。重点介绍 HostingEnvironment.MapPath、上下文快照传递、闭包捕获、静态辅助类等安全替代方案,并提供
线程
诊断、代码审查清单及上下文感知接口设计规范,助力 .NET Framework 项目规避运行
时
空引用风险。
关于 在
Http
Module 中使用 System.
Thread
.Timer
博客介绍了在
Http
Module中使用System.
Thread
.Timer实现定
时
任务/后台任务的方法。同
时
指出TimerCallback代理方法在新
线程
运行,
调用
System.
Web
.
Http
Context
.
Current
会返回
null
,还以eKap项目中IBatisNet组件为例,说明未判断该对象是否为
null
会引发空引用异常。
ASP.NET中
Http
Context
.
Current
的
线程
安全陷阱与替代方案
本文深入剖析ASP.NET中
Http
Context
.
Current
的
线程
不安全性根源,重点揭示其在异步编程(async/await)、集成管线模式及后台
线程
场景下的失效机制。指出它并非全局变量,而是请求生命周期内受限的上下文快照。提出四大可靠替代方案:显式参数传递、
Http
Context
.Items、AsyncLocal(.NET 4.6+)和I
Http
Context
Accessor,并结合生产环境23个真实故障案例,给出风险扫描、包装器构建、渐进式替换及.NET Core迁移的实操路径。
ASP.NET中
Http
Context
.
Current
的5大高危场景与解耦方案
本文深入剖析ASP.NET中
Http
Context
.
Current
在异步操作、后台任务、SignalR Hub、
HTTP
模块及单元测试等5大高危场景下的失效风险,揭示其
线程
静态特性与IIS管道生命周期的强耦合本质。提出三步渐进式解耦方案:上下文快照、接口注入式依赖、自动化重构脚本,并提供迁移至.NET Core的平滑过渡路径。强调显式传递上下文数据以提升可测性、
线程
安全性与架构可维护性。
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章