从这篇 MSDN 文章中,它指出用于连接到存储帐户的连接字符串必须是 HTTP 而不是 HTTPS。
当我使用此构造函数时:
public CloudDrive (
Uri uri,
StorageCredentials credentials
)
这是否意味着页 blob 的 Uri 也必须是 HTTP 而不是 HTTPS?我对哪个参数(或两者一起)符合"连接字符串"描述有点困惑。
此方案似乎在开发模拟器中不容易测试。
URI
(视为连接字符串的服务器部分)表示存储帐户的命名空间 + 容器 + Blob。credentials
表示用户/传递,它与URI
一起构成了到 Azure 云存储服务的连接字符串。
假设您使用的是本地模拟器,则URI
将始终为 HTTP。
CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;
部署到 Azure 时,URI
方案将是你在服务配置 (ServiceDefinition.csdef/ServiceConfiguration.Cloud.cscfg) 中分配的任何方案。
CloudStorageAccount storageAccount = CloudStorageAccount.FromConfigurationSetting("CloudDrive.DataConnectionString");
您只想分配CloudDrive.DataConnectionString
具有DefaultEndpointsProtocol=http
(如果省略,则为默认值,但您可以显式)。
ServiceDefinition.csdef
<ServiceDefinition>
<WebRole>
<!-- .... -->
<ConfigurationSettings>
<Setting name="CloudDrive.DataConnectionString" />
</ConfigurationSettings>
</WebRole>
</ServiceDefinition>
ServiceConfiguration.Cloud.cscfg
<ServiceConfiguration>
<Role>
<ConfigurationSettings>
<Setting name="CloudDrive.DataConnectionString" value="DefaultEndpointsProtocol=http;AccountName=YOURNAMESPACE;AccountKey=YOURKEY" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>