2015-06-01 28 views
13

Asp.net 5 có một hệ thống cấu hình mới sử dụng các tập tin json cho các thiết lập. Bạn phải chọn thủ công tệp json bạn muốn tải làm cấu hình của mình với phương thức .AddJsonFile(string fileName) của lớp Configuration mới.Làm cách nào để sử dụng CloudConfigurationManager với cấu hình JSON asp.net 5?

Trong khi đó, ở vùng đất Azure, chúng tôi đã có lớp này một cách tiện lợi, có nghĩa vụ xử lý cài đặt lấy từ cài đặt Azure Website hoặc web.config hoạt động nếu không tìm thấy thiết đặt Azure.

Nhưng hai điều này có ý định làm việc cùng nhau như thế nào? Tôi gặp khó khăn khi tìm bất kỳ tài liệu nào. Tôi muốn quản lý cài đặt của mình trong Azure cho sản xuất nhưng sử dụng config.json để gỡ lỗi cục bộ. Tôi đã gặp rất nhiều rắc rối khi tìm bất kỳ ví dụ hoặc tài liệu nào.

Trả lời

20

Vâng, nó chỉ ra rằng khi nói đến việc sử dụng CloudConfigurationManager với asp.net 5, câu trả lời là bạn không, và mã boilerplate đã bao phủ nó. (Nhờ Scott Hanselman để nhận lại với tôi trên twitter)

Vì vậy, cách tiếp cận giữa các ý kiến ​​một cái gì đó như thế này:

IConfiguration configuration = new Configuration() 
    .AddJsonFile("config.json") // adds settings from the config.json file 
    .AddEnvironmentVariables(); // adds settings from the Azure WebSite config 

Thứ tự mà chúng được gọi là có nghĩa là cài đặt từ các biến môi trường sẽ quá mức ghi cài đặt từ cấu hình cục bộ. Tất cả bạn phải làm gì để tận dụng điều này là chắc chắn rằng các thiết lập Azure sẽ bắt chước settings- Json của bạn vì vậy nếu tệp json của bạn trông như

{ 
    "AppSettings": { 
    "ConnectionString": "blahblahblah" 
    } 
} 

Bạn muốn thiết lập thiết lập của bạn trong xanh trông giống như

Key: AppSettings:ConnectionString 
Value: blahblahblah 

, sau đó bạn có thể tiếp tục và sử dụng cùng mã chính xác mà bạn sử dụng cho cấu hình cục bộ.

var connectionString = Configuration.Get("AppSettings:ConnectionString"); 
Các vấn đề liên quan