2011-11-15 19 views
18

Chúng tôi đang chuyển đổi ứng dụng MVC3 của chúng tôi từ IIS 6 sang 7.5. Tôi đang làm việc để thiết lập môi trường phát triển cục bộ của mình trên Windows 7. Ứng dụng hoạt động tốt cho hầu hết các phần, nhưng tôi chỉ phát hiện ra rằng MỘT trong số nhiều Vùng MVC khác nhau mà tôi không hoạt động.Điều gì có thể khiến Dịch vụ 503 không khả dụng cho khu vực báo cáo của ứng dụng asp.net mvc3?

Khi tôi thử nhấn một hành động trong khu vực này, tôi sẽ nhận lại lỗi Dịch vụ 503 không khả dụng. Điều này không xảy ra ở bất kỳ đâu trong ứng dụng của tôi.

  • Chỉ có một hồ bơi ứng dụng cho toàn bộ trang web.
  • MVC 3
  • Net 4,0
  • 64 bit
  • Không yêu cầu truy tìm không thấy những yêu cầu này.
  • Không có gì liên quan trong ứng dụng Windows hoặc nhật ký hệ thống.
  • Khu vực này hoạt động tốt dưới Visual Studio 2010 Cassini, vấn đề xảy ra khi tôi chạy nó dưới IIS địa phương 7.5 (không thể hiện)
  • App hồ bơi không được đâm hoặc ngừng
  • Không có gì trong ELMAH tôi đăng nhập
  • Mọi người toàn quyền kiểm soát trên toàn bộ cây trong an ninh hệ thống tập tin
  • url là http://localhost/reports

tôi hoàn toàn bối rối. Tôi không thể tìm thấy bất kỳ bằng chứng nào cho thấy IIS thậm chí còn nhận được yêu cầu. Có một số tệp nhật ký khác bên cạnh tệp nhật ký mà tôi đã liệt kê không?

[Cập nhật] Có cách nào để xem các đặt chỗ URL http.sys không? Tôi đã tìm thấy một số nói về các dịch vụ báo cáo SQL gọi dibs trên/Reports url.

+0

Bạn có bất kỳ mô-đun hoặc ứng dụng IIS nào khác xử lý URL đó không? – SLaks

+0

Không trừ khi có thứ gì đó trong cài đặt IIS 7 mặc định sẽ xử lý url đó. –

+1

Nếu bạn thay đổi nó thành/reports2, bạn vẫn gặp phải vấn đề tương tự ...? – Nik

Trả lời

31

Tôi đã tìm ra. Đó là do các dịch vụ báo cáo SQL đã đặt trước địa chỉ http://+:80/Reports trong http.sys.

Tôi chưa thực sự cài đặt dịch vụ báo cáo, nhưng dường như nó vẫn giữ nguyên url.

tôi cố định nó bằng lệnh sau:

netsh http delete urlacl url=http://+:80/Reports 
+3

Cảm ơn! Vấn đề này thật lạ lùng, nhưng SO lại giải cứu. – lahsrah

+0

Cảm ơn nó thực sự giúp tôi giải quyết vấn đề này. –

+0

Sắp xếp, không chắc tôi đã từng làm việc đó ra khỏi bản thân mình! – Fordio

0

Bạn đang sử dụng bất kỳ ODBC hoặc các thành phần khác trong lĩnh vực này mà bạn không ở bất kỳ nơi nào khác? Tôi đã có kinh nghiệm lỗi này (hoặc một tương tự, không thể nhớ ra khỏi đỉnh đầu của tôi) khi chạy các hồ bơi ứng dụng trong chế độ 64bit và các cuộc gọi cơ bản được tham chiếu tại 32bit 'một cái gì đó'. Bạn có thể thử kích hoạt các ứng dụng 32 bit trong cài đặt pool ứng dụng để xem nó có ảnh hưởng đến kết quả hay không.

3

Kiểm tra tài khoản/IIS -> Application Pool -> Advanced Settings -> Process Model -> nhận dạng theo đó hồ bơi của bạn đang chạy. Tôi đã thay đổi mật khẩu của mình và không nhận được nhật ký về mật khẩu không hợp lệ, nhưng thay vì tải assemlby, điều này sẽ khiến hồ bơi ứng dụng bị tắt và "503 dịch vụ không khả dụng" được cung cấp cho người dùng.

1

giải pháp khác là, tôi đã cùng một vấn đề với http://ApplicationURL/tôi Reports

Và có những SSRS là vấn đề.

Một giải pháp tốt hơn cho một này là

  1. OpenReporting Services Configuration Manager.
  2. Kết nối với dịch vụ địa phương của bạn thường computername \ MSSQLSERVER
  3. Đến "Báo cáo quản lý URL" Lựa chọn
  4. Sửa đổi thư mục ảo của bạn với một tên khác thay vì báo cáo.

Chỉ cần nhớ thay đổi này bạn báo cáo cho SSRS sẽ có tên bạn đã xác định.

Carlos

+0

Tôi biết đó không phải là mã mvc của tôi. Haha! nó quá lạ lùng vì một lỗi, mặc dù nó rất phổ biến. Cảm ơn bạn, đây là câu trả lời đúng nhất cho tôi. Không chắc chắn lý do tại sao nó đã không được upvoted. Chắc chắn những người khác gặp phải điều này. Bạn biết đấy ... với Microsoft tuyên bố/Báo cáo/đường dẫn trên tất cả các máy chủ cổng 80 .... vô lý. Chỉ có ms mới có thể lấy đi những thứ như vậy. – Barry

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