您可以嘗試將Web服務器配置爲從文檔根目錄中的任何位置獲取,我假設位於/devstoreaccount/
中,該文件位於該位置,並在請求/crossdomain.xml
時將其返回。
或者,你可以符號鏈接/devstoreaccount/crossdomain.xml
- >/crossdomain.xml
。
var account = CloudStorageAccount.Parse(ConfigurationManager.AppSettings[ConfigKey]);
var blobs = account.CreateCloudBlobClient();
CreateCrossDomainPolicy(blobs);
private static void CreateCrossDomainPolicy(CloudBlobClient blobs)
{
try
{
blobs.GetContainerReference("$root").CreateIfNotExist();
blobs.GetContainerReference("$root").SetPermissions(
new BlobContainerPermissions()
{
PublicAccess = BlobContainerPublicAccessType.Blob
});
var blob = blobs.GetBlobReference("clientaccesspolicy.xml");
blob.Properties.ContentType = "text/xml";
blob.UploadText(@"<?xml version=""1.0"" encoding=""utf-8""?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-methods=""*"" http-request-headers=""*"">
<domain uri=""*"" />
<domain uri=""http://*"" />
</allow-from>
<grant-to>
<resource path=""/"" include-subpaths=""true"" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>");
}
catch (Exception Ex)
{
throw Ex;
}
}
在ConfigKey我會通過我的實際Azure存儲賬號密碼或Uselocalstorage:如果不知它是有聯繫的/devstoreaccount/crossdomain.xml.