【发布时间】:2016-06-25 08:30:53
【问题描述】:
我在 Asp.Net C# 中使用 Quartz.Net 来安排我的任务。我想写入文件,当我尝试不使用MapPath 时,它会按预期写入文件(Hello world)。
这是我写的代码。我试过HostingEnvironment.MapPath 和Server.MapPath。它只是写没有任何内容的文件。
public void Execute(IJobExecutionContext context)
{
StreamWriter file = new StreamWriter("destination_actualPath\\hello1.txt", true);
file.WriteLine("Hello world " + Server.MapPath("../Data"));
file.Close();
}
是的,这个文件夹Data 确实存在于我的项目目录中。这个函数在IJob 类中。如果我编写了一个新方法(除了执行),它正在写入文件(hello world 和路径),如果它在这个 Execute 方法中,它不会向文件写入任何内容。
【问题讨论】:
-
“不工作”不是正确的问题描述。请阅读How to Ask 并提供所有相关信息和您的研究。另外,我希望您意识到 Web 服务器无法写入客户端的桌面。它在开发期间工作,因为您的机器当时既充当服务器又充当客户端。
-
写入桌面不是问题。问题是读取路径
Server.MapPath("../Data") -
我在问是什么问题。您预计会发生什么,实际会发生什么?
-
我想将
Server.MapPath("../Data")写入我的文件 hello1.txt。它正在创建文件 hello1.txt 如果不存在,但它是空的,里面没有内容,甚至没有打印“Hello world” -
我明白这一点。请说出这段代码的实际作用。如果您不解释发生了什么,我们无法给您答案。
标签: asp.net quartz-scheduler quartz.net server.mappath