我正在为每个请求的文件创建一个有时间限制的SAS。为此,我正在创建一个新的SharedAccessFilePolicy
对象,如下所示:
SharedAccessFilePolicy sasConstraints = new SharedAccessFilePolicy();
sasConstraints.SharedAccessExpiryTime = expirey;
sasConstraints.Permissions = SharedAccessFilePermissions.Read;
string sasBlobToken = file.GetSharedAccessSignature(sasConstraints);
SharedAccessFilePolicy sharedPolicy = new SharedAccessFilePolicy()
{
SharedAccessExpiryTime = expirey,
Permissions = SharedAccessFilePermissions.Read
};
问题1:是否可以为每个请求的文件创建一个新的SharedAccessFilePolicy
?
问题2::我们是否需要清理已创建的SharedAccessFilePolicy
对象,否则这些对象将被自动销毁?
答案 0 :(得分:1)
可以像上面的代码一样为每个请求的文件创建一个新的SharedAccessFilePolicy
,因为它们实际上都是客户端操作。上面的代码中没有服务器请求发生。
您不需要清理上面的SharedAccessFilePolicy
对象,因为它只是在生成之前定义SAS访问策略的临时变量。
请注意,只有在使用Stored Access Policies时,SharedAccessFilePolicy
才会保存在服务器端,但是在上面的代码中您并未使用该功能。