Tôi muốn khai báo chuỗi kết nối của mình trong IIS và lấy nó từ đó. Tôi không muốn khai báo nó trong trang web.config. Thay vào đó tôi cần phải biết nếu nó có thể nhận được chuỗi từ iis trong web.config hoặc đọc nó từ tập tin mã. Tôi đang sử dụng asp.net 4.0., Mã hóa trong C# và server là IIS7.5chuỗi kết nối khai báo trong iis mà không khai báo trong web.config
Trả lời
Theo this article bạn có thể sử dụng giao diện người dùng IIS hoặc dòng lệnh để sửa đổi chuỗi kết nối của bạn, nhưng điều này sẽ chỉ ghi vào <connectionString>
phần tử trong tệp web.config theo bất kỳ cách nào (trừ khi bạn đã thiết lập để lưu ở nơi khác).
Ngoài ra, bạn có thể lưu trữ nó trong một file .config nếu bạn muốn, và kéo nó vào web.config của bạn như vậy
<appSettings file="../VirtualDirectory/config/Env.config">
</appSettings>
Bạn có thể sau đó gọi nó như vậy trong mã của bạn:
System.Configuration.ConfigurationManager.AppSettings["DefaultConn"]
Điều này có thể khá hữu ích nếu bạn muốn vị trí của chuỗi kết nối không nằm trong trang web của bạn (ví dụ: trong thư mục ảo).
Cảm ơn bạn đã trả lời. Tôi không muốn đọc nó từ tệp web.config khác. Tôi muốn đọc nó từ iis mà không khai báo nó trong bất kỳ web.config. Có thể không? – polin
@polin Nó có thể được thực hiện, vì nó về cơ bản chỉ là một dòng văn bản, nhưng tôi khuyên bạn nên chống lại nó. Một tùy chọn tôi tìm thấy là lưu trữ nó trong sổ đăng ký. http://stackoverflow.com/questions/1792911/storing-connection-strings-in-registry http://www.codeproject.com/Articles/3881/Working-with-Windows-Registry-using-VB-NET –
Bạn nên đặt chuỗi kết nối của mình trong web.config. Đặt chuỗi kết nối của bạn ở nơi khác có thể không di động, như di chuyển từ máy này sang máy khác. Bạn cũng có Machine.config
Trong tất cả, đặt trong web.config và bạn có thể mã hóa nó nếu bạn quan tâm đến những bí mật
Bạn cũng có thể có một tập tin cấu hình riêng biệt ví dụ db.config được tham chiếu từ web.config của bạn bằng cách sử dụng thuộc tính configSource
.
<connectionStringss configSource="Configuration\db.config" />
Cảm ơn để hồi âm. Tôi không muốn đọc nó từ một tệp web.config khác. Tôi muốn đọc nó từ iis mà không khai báo nó trong bất kỳ web.config. Có thể không? – polin
Có gì sai với 'web.config'? Nó đã làm gì cho bạn? Có lý do cụ thể nào không phù hợp với trường hợp sử dụng của bạn không? – Arran
Chỉ cần tò mò nơi bạn nghĩ rằng chuỗi kết nối trong IIS sẽ được lưu trữ, tôi đoán 'web.config' (vui mừng khi biết nếu có cái gì khác) – V4Vendetta
Rất nhiều thiết lập trang web cụ thể (ví dụ như xử lý) được lưu trữ trong' web.config' ... Xin vui lòng cho biết những gì là sai với lưu trữ nó trong web.config và làm thế nào bạn muốn lưu trữ nó sau đó. – CodeCaster