2012-06-15 22 views
5

Sau khi triển khai Azure, tôi tiếp tục gặp lỗi máy chủ - ứng dụng sẽ không chạy. Vì vậy, tôi đã làm một máy tính để bàn từ xa vào trường hợp và thấy rằng web.config đã được đại tu hoàn toàn ... những gì đang xảy ra? Tôi nghĩ web.config đã được đóng gói như là-là? Thay vào đó, toàn bộ cấu hình đã được thay thế. Khi tôi thay thế phiên bản "mới" bằng cấu hình ban đầu, không thay đổi, chính xác, ứng dụng của tôi hoạt động như dự định.Web.config bị thay đổi (mạnh) trong khi triển khai Azure

Trước hết, những gì đang xảy ra ở đây? Tôi đang làm gì sai? Bằng cách này tôi có thể hiểu và không tái tạo điều này trong tương lai.

Thứ hai, làm cách nào để dừng hành vi này? Tôi muốn web.config ban đầu được triển khai - không phải một số kẻ mạo danh tùy ý. Cảm ơn bạn!

+0

Bạn có thể đăng một số ví dụ về hai phiên bản không? Bạn có lớp phủ Web.config cho Gỡ lỗi/Phát hành không? Bạn có cấu hình biến đổi tham số không? (giống như http://msdn.microsoft.com/en-us/library/dd465326%28VS.100%29.aspx) –

+0

Vâng, tôi đã cố đăng hình ảnh của các cấu hình nhưng "danh tiếng" của tôi quá thấp. Tôi không có lớp phủ hoặc biến đổi (đặc biệt là vì vấn đề này). Hình ảnh (từ cùng một câu hỏi) có tại đây: http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/2b5d705e-ffd5-4022-b32d-c67c0fe518cf. –

+0

bạn có thể trích xuất gói xanh để xác minh rằng thay đổi xảy ra trong quá trình xây dựng/đóng gói không? Nếu bạn xây dựng cục bộ + chạy các cấu hình giống nhau trong trình giả lập azure thì tệp vẫn còn nguyên vẹn? –

Trả lời

2

Dựa trên đề nghị của dunnry để giải nén tệp cskpkg, tôi nhận thấy rằng web.config chưa bao giờ được đóng gói - vì vậy Azure phải tạo ra một cơ bản không cần thiết (không cảnh báo tôi!?!?). Sau khi một số điều tra, tôi đã xem qua nugget này (từ another StackOverflow question addressing deployment issues):

Tắt tệp web.config thậm chí không được bao gồm trong gói triển khai. Bằng cách nào đó, BuildAction của tệp web.config đã được thay đổi từ Nội dung thành Không.

Sau khi thay đổi BuildAction trở lại "Nội dung" triển khai của tôi hiện hoạt động như mong đợi.

2

Trừ khi bạn có một biến đổi được chỉ định (sử dụng web.config.debug và .release), nó không biến đổi bất kỳ cài đặt người dùng nào. Tại một thời điểm, nó đã chuyển đổi các thiết lập machineKey sao cho các vai trò web của bạn sẽ hoạt động trong một kịch bản trang trại (không có gì sẽ làm việc phía sau cân bằng tải nếu nó không). Tôi chắc chắn nó vẫn làm điều này, nhưng nó có thể làm điều đó ở cấp machine.config bây giờ (để lại web.config của bạn một mình). Tôi đã không kiểm tra này trong một thời gian, vì vậy không chắc chắn những gì nó hiện nay.

Cách dễ dàng để kiểm tra những gì sẽ được triển khai là chỉ gói gói cskpkg của bạn và mở tệp dưới dạng tệp .zip. Bên trong sẽ là một tệp khác có tên vai trò web của bạn trong đó. Mở nó lên như một .zip một lần nữa và bạn sẽ thấy trang web của bạn tất cả đóng gói lên. Kiểm tra web.config và chắc chắn rằng đó là những gì bạn cần. Nếu không, sau đó đăng lại ở đây những gì bạn nghĩ không nên thay đổi.

+0

Cảm ơn. Khi tôi giải nén anh ta cskpkg như bạn đề nghị, tôi thấy rằng tập tin web.config là hoàn toàn ** mất tích ** từ thư mục 'sites/0'. Bất kỳ ý tưởng gì đang xảy ra ở đây? –

+2

Ahhh..found giải pháp. Sử dụng gợi ý của bạn như là một điểm khởi đầu và nhận ra web.config bị mất tích, tìm thấy nugget này ("Bằng cách nào đó BuildAction của tệp web.config đã thay đổi từ Nội dung thành Không.") Từ [câu hỏi này] (http: // stackoverflow .com/questions/9570016/azure-asp-net-mvc-web-config-deployment-issue). Bây giờ, triển khai đang hoạt động như mong đợi! Cảm ơn một lần nữa. –

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