Khắc phục: Smsvchost.exe dịch vụ WCF dừng đáp ứng khi bạn chạy một dịch vụ WCF trong .NET Framework 3.0 hoặc .NET Framework 3.5

Triệu chứng

Xem xét tình huống sau:

  • Bạn chạy Microsoft .NET Framework 3.0 hoặc .NET Framework 3.5 Dịch vụ Windows Communication Foundation (WCF).

  • Dịch vụ WCF sử dụng Net.Tcp cổng chia sẻ dịch vụ (Smsvchost.exe) và được lưu trữ trên máy tính đang chạy dịch vụ thông tin Internet (IIS).

  • Một trong những điều kiện sau là đúng:

    • Sử dụng CPU là cao trên máy tính đang chạy IIS.

    • Một ga xảy ra trong mô hình dịch vụ WCF dịch vụ.

    • Nhiều yêu cầu được gửi đến dịch vụ WCF cùng một lúc.

Trong trường hợp này, các dịch vụ WCF mất nhiều thời gian hơn một vài phút để xử lý yêu cầu từ một ứng dụng khách. Ngoài ra, thông báo lỗi tổ mục sự kiện sau được ghi vào Nhật ký sự kiện:

Tên đăng nhập: Hệ thống

Nguồn: SMSvcHost 3.0.0.0

Ngày:

ID sự kiện: 8

Danh mục tác vụ: Dịch vụ chia sẻ

Mức: lỗi

Từ khoá: cổ điển

Người dùng: Dịch vụ địa phương

Máy tính:

Mô tả: Lỗi xảy ra khi điều phối một ổ cắm trùng lặp: xử lý này hiện bị rò rỉ trong quá trình.

ID: 2620

Nguồn: System.ServiceModel.Activation.TcpWorkerProcess

Ngoại lệ:

System.TimeoutException: Thao tác yêu cầu này được gửi đến không nhận được trả lời trong thời gian chờ được cấu hình (00: 01:00). Thời gian được phân bổ cho thao tác này có thể là một phần của thời gian chờ lâu hơn. Điều này có thể do dịch vụ vẫn xử lý các hoạt động hoặc dịch vụ không thể gửi trả lời. Vui lòng xem xét tăng thời gian chờ thao tác (đúc kênh/proxy để IContextChannel và đặt thuộc tính OperationTimeout) và đảm bảo rằng dịch vụ có thể kết nối với khách hàng.

Lưu ý Bạn phải khởi động lại IIS để khôi phục dịch vụ WCF từ vấn đề này.

Nguyên nhân

Sự cố này xảy ra do trình Smsvchost.exe hết thời gian sau một phút khi cố gắng chuyển một yêu cầu kết nối đến trình W3wp.exe riêng biệt. Ngoài ra, thời gian chờ này là không thể cấu hình.

Khi CPU có khối lượng công việc lớn, hoặc khi nhiều yêu cầu đồng thời kết nối đến trình Smsvchost.exe không thể chuyển kết nối đến xử lý riêng biệt W3wp.exe trong vòng một phút. Do đó, quá trình Smsvchost.exe hết thời gian và cuối cùng dừng đáp ứng. Khi sự cố này xảy ra, quá trình Smsvchost.exe không thể gửi các yêu cầu xử lý riêng biệt W3wp.exe cho đến khi khởi động lại IIS.

Giải pháp

Để giải quyết vấn đề này, áp dụng hotfix 2504602 được mô tả trong bài viết cơ sở kiến thức Microsoft (KB).

Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

2504602 một gói có WCF trong .NET Framework 3.0 SP2, .NET Framework 3.5 SP1 và .NET Framework 4

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×