小编Ord*_*r66的帖子

将Azure Blob与Azure网站连接

我正在尝试将Azure网站连接到Azure blob(我打算在容器中托管一些文件,然后从我的网站上获取它们).

我从这个教程开始:http: //azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-get-started/

我部署了我的网站,然后开始学习本教程:http: //azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/#setup-connection-string

由于我使用的是Azure网站,因此我将以下代码添加到了我的web.config文件中(在WebApplication1项目下).Views文件夹下还有一个web.config文件,但我没有修改它.

 <configuration>
    <appSettings>
       <add key="StorageConnectionString" 
            value="DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key" />
    </appSettings>
 </configuration>
Run Code Online (Sandbox Code Playgroud)

我按照教程中的所有步骤安装了相关的NuGet包,然后将这些命名空间包含在我的Controllers/HomeController.cs文件中:

using System.Configuration;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Auth;
using Microsoft.WindowsAzure.Storage.Blob;
Run Code Online (Sandbox Code Playgroud)

然后我在ActionResult Index()方法中添加了以下语句(默认情况下运行).

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
Run Code Online (Sandbox Code Playgroud)

当我尝试运行解决方案时,我现在收到此错误:

在此输入图像描述

我也尝试直接输入StorageConnectionString(使用我的帐户名和密钥)的值,而不是在以下语句中引用它:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key"].ConnectionString);
Run Code Online (Sandbox Code Playgroud)

我仍然得到同样的错误.我似乎无法在互联网上找到任何东西.有任何想法吗?

谢谢!

c# asp.net azure azure-storage-blobs azure-web-sites

10
推荐指数
1
解决办法
2万
查看次数

从Azure Blob保存X509证书并在Azure网站中使用它

我有一个Azure网站和Azure Blob,我用它来存储.cer X509证书文件.

目标是从blob 获取.cer文件并使用它来执行操作(该代码在Controller我的Azure网站中,并且可以正常运行).

当我在本地运行代码(不发布我的网站)时,它可以工作,因为我保存了它 D:\

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"]);

// Create the blob client. 
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.GetContainerReference("myContainer");

// Retrieve reference to a blob named "testcert.cer".
CloudBlockBlob blockBlob = container.GetBlockBlobReference("testcert.cer");

// Save blob contents to a file.
using (var fileStream = System.IO.File.OpenWrite("D:/testcert.cer"))
{
    blockBlob.DownloadToStream(fileStream);
}


 **string certLocation = "D:/testcert.cer";
 X509Certificate2 myCert = new X509Certificate2();

 myCert.Import(certLocation);**
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何/在哪里可以保存它.如果我尝试使用Import方法但输入一个url(存储证书的Azure blob的URL),我收到一个错误,因为Import无法处理url.

知道我可以在Azure网站或blob中使用什么作为临时存储并X509Certificate从中创建一个?

编辑: …

azure x509certificate2 azure-storage-blobs azure-web-sites

2
推荐指数
1
解决办法
1378
查看次数