2011-12-16 21 views
10

Tôi có Windows Azure SDK 1.6 được cài đặt cùng với các công cụ Azure. Tôi có một vai trò web (với hai điểm cuối, cổng 80 cho http và cổng 443 cho https) và chỉ có một cá thể của vai trò web đang chạy (cho mục đích thử nghiệm).Visual Studio đang thiết lập vai trò web Azure của tôi thành 127.255.0.0:82 thay vì 127.0.0.1:80

Khi tôi chạy nó từ Visual Studio để gỡ lỗi tuần trước, nó chạy trình giả lập, đính kèm nó vào IIS với một ràng buộc 127.0.0.1:80 và mọi thứ đều có màu đào.

Nhưng kể từ ngày hôm qua, ngay sau khi tôi bắt đầu nó đã cố gắng để ràng buộc nó để 127.255.0.1:82 và nó ngừng làm việc với lỗi này (từ Visual Studio):

Có lỗi gắn trình gỡ lỗi để IIS worker process cho URL 'http://127.255.0.0:82'

Bây giờ nếu tôi tự đi đến IIS và thay đổi các ràng buộc trở lại, tôi có thể truy cập vào trang web thông qua một trình duyệt nhưng rõ ràng là tôi không thể gỡ lỗi nó qua VS .

Tại sao Visual Studio làm việc này? Điều gì đã làm cho nó thay đổi từ tuần trước (tôi chỉ thực hiện thay đổi mã và tôi đã nhận xét chúng ra)?

Chỉnh sửa: Tôi biết về điều này blog, nhưng vấn đề của tôi có vẻ khác vì một lý do tôi không có lỗi trong nhật ký sự kiện. Và như tôi đã đề cập ngay sau khi tôi thay đổi các ràng buộc bằng tay trong IIS, tôi có thể truy cập trang web đúng cách để hồ bơi ứng dụng được định cấu hình chính xác.

Edit2: Tôi có các thiết lập sau:

<compilation debug="true" targetFramework="4.0" /> 

Và dự án điện toán đám mây của tôi được thiết lập để khởi động dự án là tốt.

Trả lời

9

Khi tôi chạy nó từ Visual Studio để gỡ lỗi vào tuần trước, nó chạy giả lập, gắn nó vào IIS với một ràng buộc của 127.0.0.1:80 và tất cả mọi thứ là peachy.

Tôi không tin rằng bạn đã từng sửa lỗi dự án Azure Emulator đã triển khai trên 127.0.0.1:80 ràng buộc với IIS. Có một cơ hội mà những gì bạn đã gỡ lỗi chỉ là dự án ứng dụng Web chứ không phải là Azure đã triển khai. Hãy để tôi giải thích lý do:

  1. Trình giả lập Windows Azure sử dụng bộ cân bằng tải mô phỏng nội bộ (LB). này mô phỏng LB liên kết với 127.0.0.1 port 80 (nếu cổng 80 đã lấy nó sử dụng cổng 81)

  2. Windows Azure Công cụ được tự động tạo ra một địa chỉ IP ảo cho mỗi thể hiện của một webrole bạn có. Các địa chỉ IP động là 127.255.0.X, trong đó X là số lôgic của cá thể (0, 1, 2, v.v ...).

  3. Công cụ Windows Azure tạo trang web trong IIS cục bộ, với ràng buộc trong số 127.255.0.X và cổng 82

enter image description here

Bước 3 được lặp lại cho mỗi trường hợp bạn đã xác định.

Khi bắt đầu gỡ lỗi, trình duyệt của bạn thường mở http: //127.0.0.1:81/ là địa chỉ của LB. Nhưng yêu cầu từ địa chỉ này được chuyển tiếp tới IIS và nó liên kết với 127.255.0.X: 82. Bạn không thể sửa lỗi một dự án Windows Azure Emulator đã triển khai bằng cách đính kèm trình gỡ rối theo cách thủ công tới 127.0.0.1:80, bởi vì, nếu mọi thứ đều ổn, không có quá trình w3wp lắng nghe trên địa chỉ đó: cổng, nhưng Azure mô phỏng LB.

Khi bạn chỉ có WebRole (không có trang bổ sung nào được xác định), Công cụ Windows Azure không biết rằng nó sẽ đính kèm trình gỡ lỗi vào 127.255.0.X: 82 trong đó quá trình w3wp đang lắng nghe.

Đây là cấu hình làm việc sạch của Azure Emulator & SDK & cụ v.1.6 (Tôi cũng nghĩ 1.5 và thậm chí trở lại 1.3 mà chế độ Full IIS đã được giới thiệu lần đầu tiên)

Bây giờ nếu tôi bằng tay đi đến IIS và thay đổi các ràng buộc trở lại, tôi có thể truy cập trang web thông qua trình duyệt nhưng rõ ràng là tôi không thể gỡ lỗi thông qua VS.

Có, bạn sẽ có thể truy cập trang web, nhưng theo cách đó, bạn bỏ qua LB mô phỏng, không phải là điểm khi phát triển ứng dụng Windows Azure.

Nếu bạn gặp vấn đề về loại đó, tôi khuyên bạn nên làm sạch giải pháp, khởi động lại máy tính và nếu sự cố vẫn tiếp tục gỡ cài đặt SDK & Công cụ và thực hiện cài đặt đầy đủ SDK & Tác giả cho Windows Azure v. 1.6 bằng Trình cài đặt Nền tảng Web.

+0

Điều đó có ý nghĩa, cảm ơn bạn! Bây giờ tôi sẽ cố gắng cài đặt lại các công cụ (và SDK nếu cần). – encee

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