我想KNW如果有,我们可以上传/下载一个blob的方式;添加不使用webrole移除视图元数据?如果我的应用程序有很多鬼的,shud会有多个webroles?我到处看webrole的文件default.aspx.cs有一切做与基于事件的斑点;这是完全正常的,但如果我的GUI是比较复杂的是什么?

有帮助吗?

解决方案

斑点都可以通过REST调用访问的,所以你其实可以与本地桌面应用程序操纵的斑点,如果你愿意的话,甚至用PHP编写或Java。

至于webroles:每个角色是简单地在某些服务器某处运行的虚拟机。网络的角色就像是辅助角色,添加IIS的。如果你有一个网站,你可以把一个webrole整个网站。如果你需要扩展它来处理更多的用户,您可以创建webrole的多个“实例” - 然后所有网站的请求被发送到不同的实例,每个实例运行相同的代码。 (是的,你可以有一个给定的应用程序多webroles - 这取决于你的网站的复杂性,这可能是实际的,或者如果你有管理员VS游客完全不同的UI)

其他提示

您不需要使用Web角色访问Azure存储(BLOB或其他)。您可以使用一个辅助角色,或者你甚至可以从Windows窗体应用程序运行在桌面上,或Web /应用服务这是不是在Azure上运行访问它。

请参阅在Azure SDK的StorageClient文档信息如何获取Azure存储 - 这是很容易

您不需要Azure项目或其他角色使用的blob。如果你想使用Azure的客户端在.NET项目,您可以将您的配置添加到应用程序设置部分,引用它。 Azure的客户端是REST调用的包装。他们有一些要求签约步骤,这使得很难用简单的webrequests实现通话。

 <add key="AzureBlobStorage" value="AccountName=youraccountname;AccountKey=YOURKEYeZgfgdfg==;DefaultEndpointsProtocol=https"/>

您可以得到BLOB客户端:

 public CloudBlobClient GetBlobClient()
    {
        var accountBlob = ConfigurationManager.AppSettings["AzureBlobStorage"];

        var account = CloudStorageAccount.Parse(accountBlob.ToString());


        return account.CreateCloudBlobClient();

    }


public CloudBlob GetBlob(BlobItem blobItem)
        {
            var client = GetBlobClient();
            var cloudBlobContainer = client.GetContainerReference(blobItem.ContainerReference);
            return cloudBlobContainer.GetBlobReference(blobItem.FileName);
        }

BlobItem仅仅是一个包装。基本上,你需要的文件夹名和文件名来访问一个斑点。

 public class BlobItem
{
    [Required]
    [Display(Name = "Container")]
    public string ContainerReference { get; set; }
    [Required]
    [Display(Name = "File name")]
    public string FileName { get; set; }

    [Required]
    [UIHint("MultilineText")]
    public string Content { get; set; }

    /// <summary>
    /// to use in stream mode
    /// </summary>
    public Stream Stream { get; set; }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top