线程中的 上下文 问题

于娜 2007-08-20 08:35:26

线程中的 访问 Server 对象问题?



例如我在Application_Start() 开了一个线程 要处理 文件保存 的任务

protected void Application_Start(Object sender, EventArgs e)
{

System.Threading.Timer sysTimer = new System.Threading.Timer(new TimerCallback(sysTimerCallback),null, 5000, 5000);
}



// 事件处理. 将某个文件保存到网站根目录下的Images目录中
private void sysTimerCallback(object sender)
{
HttpContext context= (HttpContext) sender;
string path = System.Web.HttpContext.Current.Server.MapPath("/Images/my.txt");
StreamWriter sw = File.CreateText(path);
sw.Write("我的内容...");
sw.Close();
}






很显然线程中不能使用 上下问的 Server.MapPath() 方法。所以文件保存不上,有没有解决的办法,最好你测试后在告诉我答案。 回答最快最正确,所有分给他一个人。
...全文
133 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
watson110 2007-08-20
  • 打赏
  • 举报
回复
路过,学习...
zhenjiaobing 2007-08-20
  • 打赏
  • 举报
回复
他的答案是对的。我的也是对的。分只给他吗!
zhenjiaobing 2007-08-20
  • 打赏
  • 举报
回复
HttpContext.Current.Server();
foyuan 2007-08-20
  • 打赏
  • 举报
回复
There is no Request yet when your application is starting up.
The Request object is not yet in scope.

Well one solution would be to store the path in your web.config file.
Then in your code you can get the path like this:

string sMyPath = ConfigurationSettings.AppSettings("AppPath");
而不要用Server.MapPath来获取

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧