我在Visual Studio 2015中创建了一个ASP.Net 5 WebAPI应用程序,我需要使用Azure Blob。
要使用官方文档https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/中的Azure blob,您需要在<appSettings />
或app.config
文件中放置一个键值对,如下所示:
web.config
但问题是如果您使用的是ASP.Net 5,则没有名为<appSettings>
<add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key" />
</appSettings>
或app.config
的文件。
所以,如果我正在使用ASP.Net 5,我应该在哪里放置web.config
?
答案 0 :(得分:2)
ASP.NET Core提供了各种不同的配置选项。应用程序配置数据可能来自文件(例如JSON,XML等),环境变量,内存中集合等。
它适用于选项模型,因此您可以将强类型设置注入应用程序。您还可以创建自定义配置提供程序,这可以为您带来更多的灵活性和可扩展性。
根据您的要求,您可以按照以下步骤实现目标:
在appsetting.json中创建名为AzureStorageConfig的部分:
"AzureStorageConfig": {
"AccountName": "<yourStorageAccountName>",
"AccountKey": "<yourStorageAccountKey>"
}
像这样创建一个名为AzureStorageConfig的类:
public class AzureStorageConfig
{
public string AccountName { get; set; }
public string AccountKey { get; set; }
}
然后在Startup.cs中配置服务,如下所示:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
// Setup options with DI
services.AddOptions();
services.Configure<AzureStorageConfig>(Configuration.GetSection("AzureStorageConfig"));
}
然后通过以下控制器访问它:
private AzureStorageConfig _storageConfig;
public HomeController(IOptions<AzureStorageConfig> config)
{
_storageConfig = config.Value;
}
有关详细信息,请参阅此Tutorial。
答案 1 :(得分:0)
解决方案很简单。您不必经历他们的官方教程中提到的繁琐/荒谬的步骤。
var storageAccount = new CloudStorageAccount(
new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(
"{account_name}",
"key"), true);
我不知道为什么微软会尽力使人们的生活复杂化。