在 ASP.NET 和 C# 中映射 Quartz.net 中的路径



我用的是Quartz。Net中的Asp。Net c#来安排我的任务。我想写入一个文件,当我尝试不使用MapPath时,它会按预期写入文件(Hello world)。

下面是我写的代码。我试过HostingEnvironment.MapPathServer.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和path),如果它在这个Execute方法内,它不会向文件写入任何内容。

try

file2.WriteLine("Hello World " + System.Web.Hosting.HostingEnvironment.MapPath("~/Data"));

HttpContext在Quartz.net中是不允许的,所以我们必须使用HostingEnvironment来代替。这里我们通常使用~而不是../来引用虚拟路径。我想这是你的错。

可以使用System.Web.Hosting.HostingEnvironment.MapPath方法

相关内容

  • 没有找到相关文章

最新更新