コード例 #1
0
        MessageFetcher GetFetcher(string stream)
        {
            MessageFetcher      fetcher;
            CloudStorageAccount account;

            if (CloudStorageAccount.TryParse(SourceFolder, out account))
            {
                var containerReference = account.CreateCloudBlobClient().GetContainerReference(stream);
                if (!containerReference.Exists())
                {
                    Console.WriteLine("Container doesn't exist {0}", stream);
                    Environment.Exit(1);
                }
                else
                {
                    Console.WriteLine(containerReference.Uri);
                }
                var container = containerReference.GetSharedAccessSignature(new SharedAccessBlobPolicy {
                    Permissions            = SharedAccessBlobPermissions.Read,
                    SharedAccessExpiryTime = DateTimeOffset.UtcNow.AddDays(7)
                });

                fetcher = CloudSetup.MessageFetcher(containerReference.Uri + container, stream);
            }
            else
            {
                fetcher = FileSetup.MessageFetcher(new DirectoryInfo(SourceFolder), stream,
                                                   _recyclableStreamManagerWrapper);
            }
            return(fetcher);
        }
コード例 #2
0
ファイル: CloudClient.cs プロジェクト: junxie6/messageVault
        public MessageFetcher GetFetcher(string streamName, IMemoryStreamManager manager = null)
        {
            var sas = GetReaderSignature(streamName);

            return(CloudSetup.MessageFetcher(sas, streamName, manager ?? MemoryStreamFactoryManager.Instance));
        }