C# Azure-将虚拟目录映射到云服务中的文件服务共享

C# Azure-将虚拟目录映射到云服务中的文件服务共享,c#,azure,azure-cloud-services,azure-files,C#,Azure,Azure Cloud Services,Azure Files,提及: 我尝试在Azure云服务中创建虚拟目录时遇到问题,并且虚拟目录映射到Azure文件服务。 我所做的 1) 对ServiceDefinition.csdef中的webrole使用 2) 在WebRole.cs中 我装载驱动器(如PaaS中所述),我也在应用程序启动中进行装载 public static void MountShare(string shareName, string driveLetterAndColon,

提及:

我尝试在Azure云服务中创建虚拟目录时遇到问题,并且虚拟目录映射到Azure文件服务。

我所做的

1) 对ServiceDefinition.csdef中的webrole使用

2) 在WebRole.cs中 我装载驱动器(如PaaS中所述),我也在应用程序启动中进行装载

    public static void MountShare(string shareName,
                          string driveLetterAndColon,
                          string username,
                          string password)
    {
        if (!String.IsNullOrEmpty(driveLetterAndColon))
        {
            // Make sure we aren't using this driveLetter for another mapping
            WNetCancelConnection2(driveLetterAndColon, 0, true);
        }

        NETRESOURCE nr = new NETRESOURCE();
        nr.dwType = ResourceType.RESOURCETYPE_DISK;
        nr.lpRemoteName = shareName;
        nr.lpLocalName = driveLetterAndColon;

        int result = WNetAddConnection2(nr, password, username, 0);

            if (result != 0 || result != 85)
//85 indicates the drive name is already used. in this scenario, it means the drive is already mapped.
        {
            throw new Exception("WNetAddConnection2 failed with error " + result);
        }
    }
3) 在WebRole.cs中,我通过以下方式创建虚拟目录:

app.VirtualDirectories.Add("/asset/cms", @"s:\cms");
4) 在WebRole.cs中,我使用以下命令使AppPool在我为远程桌面创建的管理员帐户中运行:

applicationPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
applicationPool.ProcessModel.UserName = appPoolUser;
applicationPool.ProcessModel.Password = appPoolPass;
applicationPool.ProcessModel.LoadUserProfile = true;
问题:

我无法从/asset/cms获取任何信息如果我试图访问其中的文件,它会返回500.19,它说“请求的页面无法访问,因为页面的相关配置数据无效。”,特别是它指向不存在的s:\cms\web.config。当我远程访问云服务实例并打开IIS mgr时,我可以看到虚拟目录已正确创建

我想这是一个许可问题。但我无法编辑虚拟目录的权限,因为它已映射到网络驱动器


我怎样才能解决这个问题?--现在上述问题已经解决,云服务可以访问文件服务共享。但是,新问题-是否可以使用网络服务标识来运行AppPool?

您能提供此更新吗?@KeremDemirer我没有进一步研究此问题。我们只是打算在web应用程序中使用它,但Azure文件服务不支持web应用程序,也不会。微软拒绝了这一请求。以下内容供您参考。