2013-03-06 35 views
0

在我的代码(它有工人角色)我需要指定一个目录的路径(第三方库需要它)。本地我已经将文件夹包含到项目中,并为其提供完整路径。然而,在部署课程后,我需要一个新的路径。如何确认整个文件夹已被部署,以及如何确定一个新的路径?访问azure云服务中的某个文件夹

编辑: 我添加的文件夹到Visual Studio中的角色节点和访问它像这样:Path.Combine(Environment.GetEnvironmentVariable("RoleRoot"), "my_folder");

回答

2

将在此目录可用于阅读和写作?如果是,则应使用LocalStorage资源。 https://azure.microsoft.com/en-us/documentation/articles/cloud-services-configure-local-storage-resources/显示如何使用这个。

如果该目录仅用于阅读(即您有二进制文件或配置文件),那么您可以使用%RoleRoot%环境变量来标识包的部署路径,然后将任何文件夹附加到参考您的项目(即%RoleRoot%\ Myfiles)。

+0

链接不再有效 – 2016-02-16 10:03:52

+0

感谢@ScottCowan,链接已更新。 – kwill 2016-02-16 15:24:31

2

我会采取稍微不同的方法。将第三方软件包放入Windows Azure blob存储中,然后在角色启动过程中,您可以下载/解压缩文件并将文件放入可用的本地存储器(为其提供应用程序所需的任何权限)。然后通过相同的本地存储配置条目从应用程序利用该位置。

这应该可以帮助您减少部署包的大小,并使您能够在不完全重新部署解决方案的情况下更新第三方组件。并且通过在启动时利用它,您可以保证在角色实例被拆除和重建的情况下文件将存在那里。

+0

减少部署规模听起来很有吸引力,我会探讨这种方法。 – ren 2013-03-06 22:20:16

相关问题