0

在我的代码(具有工作者角色)中,我需要指定目录的路径(第三方库需要它)。在本地,我已将文件夹包含到项目中,并提供完整路径。但是,在部署之后,我当然需要一条新路径。如何确认已部署整个文件夹以及如何确定它的新路径?

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

4

2 回答 2

2

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

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

于 2013-03-06T21:52:54.290 回答
2

这个目录会用于读写吗?如果是,您应该使用 LocalStorage 资源。 https://azure.microsoft.com/en-us/documentation/articles/cloud-services-configure-local-storage-resources/展示了如何使用它。

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

于 2013-03-06T21:43:06.473 回答