将文件从我的Azure Web角色复制到另一台计算机

时间:2012-09-16 08:15:59

标签: c# asp.net .net windows azure

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

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

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

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

我尝试过:

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

结果:UnauthorizedAccessException

1 个答案:

答案 0 :(得分:1)

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

引用Bill Wilder

  

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

你可以read and write to the Local Storage system

    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