2017-06-14 16 views
5

Tôi đang cố định cấu hình một số cặp khóa/giá trị cho ứng dụng web Azure của tôi bằng phần cài đặt ứng dụng trên cổng xem trước Windows Azure.Cách đọc giá trị cài đặt ứng dụng web site Azure

enter image description here

Bây giờ tôi đang cố gắng để đọc các giá trị như bên dưới

ConfigurationManager.AppSettings [ "MyWebApp.DbConnectionString"];

nhưng nó trả về giá trị null.

Đọc cài đặt ứng dụng từ Web.config trong ứng dụng web của tôi hoạt động tốt.

+2

Ý bạn là gì khi đọc cài đặt ứng dụng sau trong ứng dụng web của tôi hoạt động tốt.'? Trong điều kiện nào bạn nhận được giá trị này là null? Vui lòng cập nhật câu hỏi của bạn với các chi tiết này. –

+0

Là một thử nghiệm, nó có hoạt động nếu bạn sử dụng một tên đơn giản không có dấu chấm? –

Trả lời

8

Tôi đã tìm ra giải pháp.

Giữ giá trị trong web.config cũng như trong cài đặt Ứng dụng Azure. Khi bạn đang chạy/gỡ lỗi ứng dụng trên môi trường cục bộ của bạn, nó chọn các giá trị từ web.config.

Khi bạn triển khai ứng dụng trên Azure, chọn giá trị từ cài đặt Ứng dụng.

//Below code work for both. 
ConfigurationManager.AppSettings["KeyName"] 

Giữ tên khóa giống nhau trong web.config cũng như trong cài đặt ứng dụng Azure.

+0

Chỉ cần nhớ rằng giá trị được đặt trong cổng được ưu tiên hơn giá trị trong web.config –

+1

Trên phương pháp gỡ lỗi gỡ lỗi cục bộ là dành cho web.config và ưu tiên cổng triển khai cho cài đặt ứng dụng Azure. – ABB

2

Trong Azure, có một vài cách khác nhau để truy xuất Cài đặt ứng dụng và Chuỗi kết nối. Tuy nhiên, chuỗi kết nối hoạt động hơi khác so với cài đặt ứng dụng vani.

Cài đặt ứng dụng có thể được truy xuất bằng bất kỳ phương pháp nào, bất kể chúng có xuất hiện trong tệp Web.config hay không.

Chuỗi kết nối cũng có thể được truy lục bằng bất kỳ phương thức nào nếu chuỗi được xác định trong Web.config. Tuy nhiên, nếu chuỗi kết nối KHÔNG được xác định trong Web.config, thì nó chỉ có thể được truy xuất bằng phương pháp Biến môi trường.

Lấy như Môi trường Variable

Environment.GetEnvironmentVariable("APPSETTING_my-setting-key"); 
Environment.GetEnvironmentVariable("SQLAZURECONNSTR_my-connection-string-key"); 

Lưu ý rằng các phím phải được thêm vào phía trước với một chuỗi chỉ định kiểu của họ khi sử dụng phương pháp này.

Tất cả cài đặt ứng dụng sử dụng tiền tố APPSETTING_.

Strings kết nối có một tiền tố khác nhau tùy thuộc vào loại cơ sở dữ liệu đã chọn khi tạo chuỗi trong cổng:

"Sql Databases" --> "SQLAZURECONNSTR_my-connection-string-key" 
"SQL Server" --> "SQLCONNSTR_my-connection-string-key" 
"MySQL" --> "MYSQLCONNSTR_my-connection-string-key" 
"Custom" --> "CUSTOMCONNSTR_my-connection-string-key" 

Để có cái nhìn đầy đủ, vui lòng xem Windows Azure Web Sites documentation.

Các vấn đề liên quan