0

我有一个 Azure Web 角色和一台单独的计算机。他们都在同一个网络上,并且都共享彼此可以访问的某些文件夹。如果我继续使用我的 Azure Web 角色,通过远程桌面,我可以使用\\comp1\folder并在那里添加/删除/编辑文件到另一台计算机的共享文件夹。

我的网络角色上有一些图像文件,我需要将它们复制到单独的计算机上。这些图像被上传到 Web 角色并存储在那里。

如何将网络角色上的这些图像复制到我的另一台计算机?

我试过使用File.Copy,但它总是给我拒绝访问错误。

我试着做:

File.Copy(Server.MapPath("~/image/a.jpg"),@"\\comp1\folder\b.jpg");

结果:UnauthorizedAccessException

4

1 回答 1

1

我认为您不能像那样访问 Azure 上的文件系统,除非通过本地存储?

引用比尔·怀尔德的话

您在 (a) ASP.NET(例如,default.aspx 或 default.aspx.cs)或 (b) WebRole.cs/WorkerRole.cs(例如,派生的方法 OnStartup、OnRun 和 OnStop 中运行的任何代码来自 RoleEntryPoint 类)将无权写入文件系统。

您可以读取和写入本地存储系统

    try 
    {
        LocalResource myConfigsStorage = RoleEnvironment.GetLocalResource("myConfigs"); 
        string s = System.IO.File.ReadAllText(myConfigStorage.RootPath + "myFile.txt"); 
        //... do your work with s 
    } 
    catch (Exception myException) 
    { 
        ...    }

但是一直使用 Azure 和多个实例,我从来没有看到需要本地存储,而是使用 blob 存储。

阅读更多: http: //www.intertech.com/Blog/Post/Windows-Azure-Local-File-Storage-How-To-Guide-and-Warnings.aspx#ixzz26ce8rXpk

于 2012-09-16T09:21:19.340 回答