我有一个Azure Web角色和一台单独的计算机。它们都在同一个网络上,并且共享某个文件夹,而另一个文件夹可以访问。如果我通过远程桌面继续我的Azure Web角色,我可以使用\\comp1\folder
和添加/删除/编辑文件转到另一台计算机的共享文件夹。
我的网络角色上有一些图像文件需要复制到单独的计算机上。 这些图像将上传到Web角色并存储在那里。
如何将网络角色上的图像复制到另一台计算机上?
我尝试使用File.Copy
,但它总是给我拒绝访问错误。
我尝试过:
File.Copy(Server.MapPath("~/image/a.jpg"),@"\\comp1\folder\b.jpg");
结果:UnauthorizedAccessException
答案 0 :(得分:1)
我不认为您可以像Azure一样访问Azure上的文件系统,除非通过本地存储?
您在(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存储。