使用SharpGs在Google Storage中“公开分享”

时间:2011-04-28 03:54:00

标签: c# google-cloud-storage

在.NET中使用SharpGs作为Google存储客户端,我试过这个,但它不起作用:

foreach (var o in bucket.Objects)
{
  o.Acl.CleanEntries();
  o.Acl.AddEntry(SharpGs.Acl.AclPermission.FULL_CONTROL, SharpGs.Acl.ScopeType.AllUsers);
  o.Acl.Save();
}

1 个答案:

答案 0 :(得分:2)

当您在foreach中创建“o.Acl”时,您正在对服务器执行查询(它位于“Acl”属性的getter内部),因此在循环内的3行中,您将从服务器获取acl并重置旧的价值。所以,你应该做这样的事情:

var acl = o.Acl;
acl.CleanEntries();
acl.AddEntry(SharpGs.Acl.AclPermission.FULL_CONTROL, SharpGs.Acl.ScopeType.AllUsers);
acl.Save();