2011-11-10 43 views
7

Tôi có một số dịch vụ WCF đang chạy tuyệt vời cục bộ; khách hàng có thể tiêu thụ chúng và máy chủ đang đặt dữ liệu trong DB như mong đợi. Vấn đề là khi tôi triển khai chúng đến một máy dàn dựng, tất cả những gì tôi có thể thấy là lỗi HTTP 500.Gỡ lỗi HTTP 500 (Lỗi Máy chủ Nội bộ) trong Dịch vụ WCF/Dàn dựng

Làm cách nào để bắt đầu gỡ lỗi sự cố?

Vì nó chỉ trên dàn dựng chứ không phải trên máy dev cục bộ của tôi, tôi cho rằng đó là sự cố cấu hình IIS ở đâu đó.

Khi tôi sử dụng Fiddler để xem nội dung đang được gửi và phản hồi là gì, tôi có thể xem dữ liệu yêu cầu chính xác (như mong đợi) và chỉ có 500 là phản hồi - không có thêm chi tiết.

Tôi khá xanh với WCF và IIS, vì vậy có thể là điều gì đó hiển nhiên; Tôi đã sử dụng aspnet_iisreg, đã triển khai tệp .svc của mình và tất cả các tệp DLL/tệp được tạo từ bin; có lẽ tôi đã bỏ lỡ điều gì đó.

Tôi đã tìm trong nhật ký IIS, nhưng chúng khá gầy; không có thông tin lỗi ở đó, hoặc (hoặc có thể tôi đang tìm sai địa điểm?)

(Quan trọng hơn là giải quyết vấn đề cụ thể là tìm hiểu xem chi tiết về lỗi như thế nào.

Chỉnh sửa: Tôi tất nhiên đã kiểm tra nhật ký sự kiện trước - và đáng ngạc nhiên, không tìm thấy bất kỳ đề cập nào về ngoại lệ. Vì vậy, tôi giả định rằng dịch vụ là ít nhất là đang được gọi và có điều gì đó đang bị lỗi ở giữa.

Trả lời

1

Nó chỉ ra rằng máy chủ đã trở lại 500 vì một tập dữ liệu khổng lồ được trả lại; WCF đặt một số hạn chế về kích thước của dữ liệu (và chuỗi) bạn có thể quay trở lại, để ngăn chặn các cuộc tấn công DOS. Tôi đã giải quyết vấn đề bằng cách tăng giới hạn và giảm kích thước của dữ liệu được trả lại (nếu có).

6

Nơi đầu tiên tìm lỗi là nhật ký sự kiện trên máy chủ. Nên có thông tin cơ bản tại sao yêu cầu không được xử lý. Nếu liên quan đến WCF, bạn có thể bật số WCF tracing và kiểm tra thêm chi tiết trong nhật ký được tạo.

+1

Tôi đã rất ngạc nhiên khi thấy rằng nhật ký sự kiện không có gì trong đó! Không đề cập đến bất kỳ ngoại lệ .NET nào. – ashes999

0

'Http 500 Lỗi máy chủ nội bộ' có thể xảy ra nếu mật khẩu tài khoản dịch vụ của bạn hết hạn. Vui lòng đảm bảo rằng bạn không gặp bất kỳ sự cố nào với Tài khoản dịch vụ đang chạy nhóm ứng dụng trên IIS.

1

Add:

<httpErrors errorMode="Detailed"/> 

Trong Web.config dưới:

<system.webServer> 

Và xem những gì đang xảy ra trong biết thêm chi tiết.

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