将 Azure 文件服务 CloudFileShare 映射为云服务每个实例上的虚拟目录

2023-11-29

我有一个天蓝色的云服务,我正在尝试升级该服务以实现高可用性,并且我已订阅了已在预览门户中启用的 Microsoft Azure 文件服务预览版。我已经创建了一个新的存储帐户,并且可以看到该存储帐户现在有一个文件端点位于:

https://<account-name>.file.core.windows.net/

在我的网络角色中,我有以下代码,用于查看是否创建了名为 scorm 的共享,如果没有,则创建它:

public static void CreateCloudShare()
{
    CloudStorageAccount account = CloudStorageAccount.Parse(System.Configuration.ConfigurationManager.AppSettings["SecondaryStorageConnectionString"].ToString());
    CloudFileClient client = account.CreateCloudFileClient();
    CloudFileShare share = client.GetShareReference("scorm");
    share.CreateIfNotExistsAsync().Wait();
}

这工作没有问题。我的问题是,我不确定如何映射在我的云服务中创建为虚拟目录的 CloudShare。在一个实例中我能够做到这一点:

public static void CreateVirtualDirectory(string VDirName, string physicalPath)
{
    try
    {

        if (VDirName[0] != '/')
            VDirName = "/" + VDirName;

        using (var serverManager = new ServerManager())
        {
            string siteName = RoleEnvironment.CurrentRoleInstance.Id + "_" + "Web";
            //Site theSite = serverManager.Sites[siteName];
            Site theSite = serverManager.Sites[0];
            foreach (var app in theSite.Applications)
            {
                if (app.Path == VDirName)
                {
                    // already exists
                    return;
                }
            }
            Microsoft.Web.Administration.VirtualDirectory vDir = theSite.Applications[0].VirtualDirectories.Add(VDirName, physicalPath);
            serverManager.CommitChanges();
        }
    }
    catch (Exception ex)
    {
        System.Diagnostics.EventLog.WriteEntry("Application", ex.Message, System.Diagnostics.EventLogEntryType.Error);
        //System.Diagnostics.EventLog.WriteEntry("Application", ex.InnerException.Message, System.Diagnostics.EventLogEntryType.Error);
    }
}

我已经查看并发现可以通过 powershell 映射此内容,但我不确定如何在我的网络角色中调用代码。我添加了以下方法来运行 powershell 代码:

public static int ExecuteCommand(string exe, string arguments, out string error, int timeout)
{
    Process p = new Process();
    int exitCode;
    p.StartInfo.FileName = exe;
    p.StartInfo.Arguments = arguments;
    p.StartInfo.CreateNoWindow = true;
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardError = true;
    p.Start();
    error = p.StandardError.ReadToEnd();
    p.WaitForExit(timeout);
    exitCode = p.ExitCode;
    p.Close();

    return exitCode;
}

我知道我必须运行的命令是:

net use z: \\<account-name>.file.core.windows.net\scorm /u:<account-name> <account-key>

如何在我的网络角色中使用它?我的网络角色代码如下,但似乎不起作用:

public override bool OnStart()
{
    try
    {

        CreateCloudShare();
        ExecuteCommand("net.exe", "user " + userName + " " + password + " /add", out error, 10000);
        ExecuteCommand("netsh.exe", "firewall set service type=fileandprint mode=enable scope=all", out error, 10000);
        ExecuteCommand("net.exe", " share " + shareName + "=" + path + " /Grant:" + userName + ",full", out error, 10000);

    }
    catch (Exception ex)
    {
        System.Diagnostics.EventLog.WriteEntry("Application", "CREATE CLOUD SHARE ERROR : " + ex.Message, System.Diagnostics.EventLogEntryType.Error);
    }
    return base.OnStart();
}

我们的博客文章保持与 Microsoft Azure 文件的连接有一个从 Web 和辅助角色引用 Azure 文件共享的示例。请参阅“Windows PaaS 角色”部分,并查看“Web 角色和用户上下文”下的注释。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Azure 文件服务 CloudFileShare 映射为云服务每个实例上的虚拟目录 的相关文章

随机推荐

  • BeanUtils 复制属性:注册 ConvertUtils

    我有用 Java 编写的 Web 应用程序 我在用着BeanUtils copyProperties方法 如果一个date字段为空 会抛出错误 我通过使用解决了它ConvertUtils register method ConvertUti
  • Spring Data Neo4j:使用嵌入的 Neo4j 服务器:JAR 打包

    我终于能够在我的 java 应用程序中创建一个使用嵌入式数据库的服务器实例 如下所示here 当我从 Eclipse 运行它时 它可以正常工作 但这实际上不是我的目的 除其他事项外 我的应用程序向数据库提供新的节点和关系 我有一个 Neo4
  • OWL 2 罗化

    在描述逻辑中 有一个概念叫 rolification OWL 和规则 第 3 2 节 它将概念 类 转换为角色 属性 例如 当我们滚动时R x 我们得到r x x 该技术对于在深度学习中表达一些规则很有用 我们如何在 OWL 2 中做到这一
  • 使用 Mule 发送格式化邮件

    我正在使用 Mule 发送电子邮件 我需要为发送的文本添加格式 邮件的内容是有效负载 其中包含我在 Java 方法中形成的字符串 并使用表达式转换器发送到流程 我需要向该字符串添加格式 粗体 下划线 颜色 我该怎么做 这是我的流程的摘录
  • 如何使用 PHP GD 显示动态生成的内嵌图像

    我正在尝试使用 PHP GD 合并图像来动态生成图像 我想知道是否有一种方法可以在我的网页中显示图像 而不需要将其存储在服务器上的某个位置 例如 我创建了以下代码来合并图像 function create image main image
  • 乘客安装时出现转换错误。对 nginx 模块有影响吗?

    在OS X 10 6 8下安装passenger 首先在rbenv下 然后卸载rbenv后 也在rvm下 Mini user gem install passenger 正在生成转换错误 unable to convert xE4 to U
  • Pygame 需要“for event in pygame.event.get()”以免崩溃

    该程序像这样工作正常 但是 我不明白为什么它需要无用的for event in pygame event get None in the gameOverwhile 语句里面game loop 如果您能找到一种方法来删除它或解释为什么没有它
  • 使用内置 Python 模块填写 Web 表单数据

    好吧 我已经在我的冒险中使用了 mechanize requests beautiful soup 甚至 selenium 来做这样的事情 我得出的结论是 urllib 和其他默认模块是最好的方法 唯一的问题是我根本不知道如何使用它 那么有
  • aspnet core 应用程序中的 Autofac.Multitenant 似乎无法正确解析租户范围的依赖项

    我正在升级利用 Autofac Multitenant 框架的多租户 dotnet 核心解决方案 我没有太多运气让租赁解决方案正常工作 我在这里创建了一个简单的问题演示 https github com SaltyDH AutofacMul
  • 在 python 中使用绘制数据的微型版本作为图例句柄

    有没有办法使用 matplotlib 中的图形中绘制的线作为图例中的句柄 例如 我在想 在这个基本代码中 而不是图例中的直线 有一个我绘制为手柄的正弦波的小版本 import matplotlib pyplot as plt import
  • 在 RDLC 报告中添加数据集时 Visual Studio 2013 崩溃

    当我尝试将数据集添加到 asp net 项目中的任何 RDLC 报告时 Visual Studio 停止工作并重新启动 我尝试使用 VS 2012 和 2015 添加数据集 两次尝试都产生了与您相同的错误 这种情况只发生在我的 VS 项目之
  • Windows 8.1 64 位中的 IBM MobileFirst Platform 安装

    我正在使用我的办公室笔记本电脑 Lenovo vV310 8GB RAM 64 位操作系统 Windows 8 1 过去几天我一直在尝试修复 IBM Mobile First Platform 的安装问题 我从链接下载了 IBM Mobil
  • HTML5 直播

    对于学校 我需要建立一个 HTML5 直播网站 他们有一个一直在使用的 Flash 流播放器 但现在希望它改用 HTML5 我怎样才能做到这一点 我尝试使用视频标签 但无法正常工作 下面是我的代码 有人能指出我正确的方向吗
  • 将两个同名的 .swift 文件添加到项目中

    我正在尝试将 swagger 客户端集成到我的项目中 我能够从 swagger 生成类 Swagger for swift 3 使用 Alamofire 进行 newtork 操作 问题是生成的类名称之一是 Response Alamofi
  • 无法打开该文件,因为您无权查看该文件

    imageData NSData dataWithContentsOfURL self pdfFileUrl options NSDataReadingMappedAlways error error NSLog error localiz
  • sublime 3 制表符和空格不匹配

    我已经浏览网页3次了 但仍然没有解决方案 我有一个简单的 js 文件 我希望我的制表符是 4 个空格而不是 2 个 我将首选项设置更改为选项卡大小为 4 更改了语法特定设置 一切 但仍然是同样的问题 有任何想法吗 Click On状态栏上的
  • 如何将图片保存到localStorage并在下一页显示?

    所以 基本上 我需要上传单个图像 将其保存到 localStorage 然后将其显示在下一页上 目前 我上传了 HTML 文件
  • Jquery ui 选项卡的不同动画

    我正在使用 jquery ui 选项卡小部件 我没有使用 jquery 主题 因为我更喜欢做我自己的 css 和东西 我已经让它工作了 但我想要的是当单击不同的选项卡时 选项卡内容具有不同的动画效果 我想要的是新的选项卡内容从左侧滑入 目前
  • 软删除实体的导航属性

    我有 2 个实体 我是我的数据库 它们看起来像 Vehicles Id VehicleNumber IsDeleted WorkerId Workers Id Name Address 在我的 edmx 中 VehicleId Id Veh
  • 将 Azure 文件服务 CloudFileShare 映射为云服务每个实例上的虚拟目录

    我有一个天蓝色的云服务 我正在尝试升级该服务以实现高可用性 并且我已订阅了已在预览门户中启用的 Microsoft Azure 文件服务预览版 我已经创建了一个新的存储帐户 并且可以看到该存储帐户现在有一个文件端点位于 https