azure - Windows Azure 创建虚拟目录到本地存储

标签 azure directory virtual storage local

我需要帮助创建指向 Windows Azure(生产环境)中本地存储的虚拟目录。我可以手动设置虚拟目录,但每次 Azure 重新启动时它都会被删除。线索是当我在 Azure 上上传项目包时通过配置文件创建虚拟目录。问题是如何创建这样的目录,使其指向本地存储。

提前感谢您的任何建议。

最诚挚的问候,

达里克

最佳答案

我建议您通过在WebRole的OnStart方法中与IIS交互来创建虚拟目录:

public class WebRole : RoleEntryPoint
{
    public override bool OnStart()
    {
        // Connect to the IIS site.
        using (var manager = new Microsoft.Web.Administration.ServerManager())
        { 
                var localResourcePath = RoleEnvironment.GetLocalResource("MyResource").RootPath;

            // Add to the root application.
            var rootSite = manager.Sites[RoleEnvironment.CurrentRoleInstance.Id + "_Web"];
            var rootApplication = rootSite.Applications["/"];
                rootApplication.VirtualDirectories.Add("/myVdir", localResourcePath);

                // Save
            manager.CommitChanges();
        }

        ...
    }
}

如果我是对的,您需要将执行上下文设置为提升才能正常工作。您可以在 ServiceDefintion.csdef 中执行此操作:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="MyProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7">
  <WebRole name="MyRole" vmsize="Small" enableNativeCodeExecution="true">
    <Runtime executionContext="elevated" />
    ...
  </WebRole>
</ServiceDefinition>

注意:您需要引用Microsoft.Web.Administration.dll (C:\Windows\System32\inetsrv)

关于azure - Windows Azure 创建虚拟目录到本地存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11187877/

相关文章:

c# - Azure Functions - 无法加载文件或程序集 '' AzureFunctions.Autofac.Shared'

azure - 如何使用 Java 和 Gradle 创建 Azure Durable Functions Orchestration 项目?

c++ - 在 C 预处理器中指定一个文件夹/目录的正确方法是什么?

cakephp - CakePHP 3.0中虚拟字段/实体属性上的分页排序链接

c# - 使用 Microsoft Bot Framework 时如何使用 CSS 设置聊天窗口的样式

Azure数据工厂抛出 "Invoking Azure function failed with HttpStatusCode - InternalServerError."

html - 列出 Jade 模板内目录中的文件

c++ - 使用 C++ 创建包含今天日期的文件夹

javascript - Angular 中虚拟列表的性能优化

python - 使用Python 3在Windows中创建虚拟环境