使用静态内容文件部署 WebJob
Deploying a WebJob with a static Content file
Azure 上的 WebJob 运行 似乎没有将 文件(如果较新则复制)放到正确的目录中。
我收到以下错误:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\local\Temp\jobs\continuous\LongTasks\lprysn1r.tsv\Content\File.cshtml
我尝试这样访问该文件:
File.ReadAllText("Content/File.cshtml");
在本地 运行 时,它工作正常。
有没有办法适当删除这个静态文件?
进行一些测试后,惯例是将 /bin/Release 文件夹浅拷贝到 App_Data/jobs/continuous/LongTasks/
这意味着,如果有任何文件夹,它们不会被复制。
将 "File.cshtml" 移动到根目录可解决此问题。
我知道这与 Azure WebJobs SDK 不完全相关,但这发生在 6/22/2015 版本 1.0.0。
您应该为当前 运行 webjob 使用 WEBJOBS_PATH 环境变量。
var webjobPath = Environment.GetEnvironmentVariable("WEBJOBS_PATH");
if (string.IsNullOrWhiteSpace(webjobPath))
{
// Handle dev environment
webjobPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
}
这将 return 一些路径,例如 D:\local\Temp\jobs\triggered\\xxeeeexxx.qzx\,其中包含您的内容文件和文件夹。
Azure 上的 WebJob 运行 似乎没有将
我收到以下错误:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\local\Temp\jobs\continuous\LongTasks\lprysn1r.tsv\Content\File.cshtml
我尝试这样访问该文件:
File.ReadAllText("Content/File.cshtml");
在本地 运行 时,它工作正常。
有没有办法适当删除这个静态文件?
进行一些测试后,惯例是将 /bin/Release 文件夹浅拷贝到 App_Data/jobs/continuous/LongTasks/
这意味着,如果有任何文件夹,它们不会被复制。 将 "File.cshtml" 移动到根目录可解决此问题。
我知道这与 Azure WebJobs SDK 不完全相关,但这发生在 6/22/2015 版本 1.0.0。
您应该为当前 运行 webjob 使用 WEBJOBS_PATH 环境变量。
var webjobPath = Environment.GetEnvironmentVariable("WEBJOBS_PATH");
if (string.IsNullOrWhiteSpace(webjobPath))
{
// Handle dev environment
webjobPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
}
这将 return 一些路径,例如 D:\local\Temp\jobs\triggered\\xxeeeexxx.qzx\,其中包含您的内容文件和文件夹。