Những phần nào của đường ống bị mất?
Không có đường dẫn yêu cầu nào được thực thi:
myRequestService.Any(e.Request);
Vật lý chỉ gọi Any
Phương thức C # của MyRequestService
của bạn lớp học, nó không (cũng như không thể) làm bất cứ điều gì khác.
Cách được khuyến nghị để gọi các Dịch vụ khác trong khi Yêu cầu Dịch vụ là sử dụng Cổng Dịch vụ.
Nhưng nếu bạn muốn gọi một Dịch vụ bên ngoài Yêu cầu HTTP, bạn có thể sử dụng Cổng RPC để thực thi các dịch vụ không đáng tin cậy vì nó gọi ra Đường ống yêu cầu đầy đủ và chuyển đổi các phản hồi Lỗi HTTP thành Phản hồi lỗi đã nhập:
HostContext.AppHost.RpcGateway.ExecuteAsync()
Để thực thi các Dịch vụ nội bộ / đáng tin cậy bên ngoài Yêu cầu dịch vụ, bạn có thể sử dụng HostContext.AppHost.ExecuteMessage như được sử dụng bởi ServiceStack MQ áp dụng Bộ lọc Yêu cầu / Phản hồi, Bộ lọc Hành động Dịch vụ &Sự kiện.
Tôi đã đăng ký với containerner.AddScoped
Không sử dụng các phần phụ thuộc theo phạm vi yêu cầu bên ngoài một Yêu cầu HTTP, hãy sử dụng Singleton nếu các phần phụ thuộc là ThreadSafe, nếu không hãy đăng ký chúng dưới dạng Tạm thời. Nếu bạn cần chuyển bộ nhớ cho mỗi yêu cầu, hãy chuyển chúng vào IRequest.Items
.