c# - 将文件复制到 Azure WebRole 上的输出目录

标签 c# azure azure-web-roles

我们有一个 azure 的 Webrole,我们从其他应用程序调用它作为 API,将网页转换为渲染的字节数组,然后将其作为 pdf 附加到电子邮件中。我们使用 ABCpdf 来完成此操作。

对于我们最新的项目,我们必须使用 ABC (ABCGecko) 的第二个引擎才能正确渲染我们的页面。 ABCGecko 引擎需要在构建发生后手动复制到输出目录,它不会自动发生。

对于普通应用程序来说,这不是问题,我只需在构建后将所需的文件夹(对于使用 ABC 的任何人来说是 XULRunner_38)复制到版本中,但我不知道如何为 Azure WebRole 执行此操作,并且没有'从我在谷歌搜索中看到的内容来看,似乎没有什么太大的帮助。

我假设我要么必须构建角色,然后在部署之前调整包,要么部署角色,然后复制文件夹。但我不知道如何做到这一点。

如果有人有任何想法或过去需要手动将文件复制到 Azure Webrole,那么我将非常感谢您的帮助。另外我应该提到,我们使用 Visual Studio 作为我们的 IDE,并从其中发布,以防对任何人都重要。

最佳答案

Azure Web(和辅助)角色允许您定义启动任务,从而允许您调用脚本(例如 powershell 脚本、批处理文件),然后该脚本可以执行复制文件等操作。

哦,如果你不希望它在角色实例重新启动时尝试复制,你需要做一些事情,比如在某个地方给自己留下一个“面包屑”,以表明你已经完成了初始化工作.

不想做的是将内容手动复制到您的角色实例。当这些实例更新(例如新的主机操作系统更新)或将它们移动到另一个物理主机时,您将丢失手动复制的任何文件。

这完全独立于任何 IDE(除了对您正在编写的脚本语言的一般支持之外),因为您的启动任务将在每个 Web 角色实例启动时执行。

有关启动任务的更多详细信息是 here .

关于c# - 将文件复制到 Azure WebRole 上的输出目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46341172/

相关文章:

c# - 如何让 newtonsoft 将 yes 和 no 反序列化为 bool 值

.net - 检索通过 SendGrid 发送的电子邮件的状态

azure - Dragino NB IoT 到 Azure Cosmos DB

asp.net - 如何在一个 Web 角色中添加多个 Web 应用程序?

c# - 两个双引号对于 C# 中的字符串变量到底意味着什么?

c# - 在 Windows XP 中使用 SetWindowsHookEx 时出错,但在 Windows 7 中没有

c# - 将指针数组转换为 IntPtr 数组

azure - 无法为连接到现有本地 Vnet 的新 AKS 群集创建 ACI

c# - Azure Web 角色是否旨在托管永久打开的 TCP 连接?

java - Azure Web角色部署后回收