2011-11-22 26 views
5

tôi có ứng dụng máy khách & giao tiếp bằng WCF. Để thêm một số thông tin phiên tùy chỉnh cho mỗi tiêu đề tin nhắn WCF, tôi đã đưa kênh WCF của khách hàng vào một lớp "ClientChannelProxy" và sử dụng phần mở rộng Unity Interception để thêm thông tin tiêu đề tùy chỉnh của tôi bằng cách sử dụng các khía cạnh.Unity - Interception cho một lớp dịch vụ WCF?

IUnityContainer container = new UnityContainer(); 
container.AddNewExtension<Interception>(); 
container.RegisterType<IClientService, ClientServiceProxy>(); 
container.Configure<Interception>().SetInterceptorFor<IClientService>(new 
TransparentProxyInterceptor()); 

Điều này làm việc tốt cho khách hàng vì tôi có thể dễ dàng định cấu hình vùng chứa thống nhất và chặn sử dụng mã ở trên.

Nhưng cách thiết lập tính thống nhất và chặn ở phía máy chủ? Dịch vụ WCF của tôi được cấu hình trong một tệp .SVC, tôi không có bất kỳ khả năng nào để định cấu hình chặn và thực hiện các khía cạnh của tôi.

<%@ ServiceHost Language="C#" Debug="true" Service="Test.ClientService" %> 
<!-- How to configure Unity Interception for this WCF-Service ? --> 

Sẽ thật tuyệt nếu có ai có thể giúp tôi làm việc. Cảm ơn!

+0

Bạn có muốn thêm một số người xử lý trước khi yêu cầu đến lớp dịch vụ thực tế không? – Kangkan

+0

Exaclty. Trên máy khách, tôi thêm một số thông tin chính vào tiêu đề thông điệp WCF. Các máy chủ nên đọc thông tin tiêu đề này và xây dựng một đối tượng chính tùy chỉnh bevore lớp dịch vụ thực tế được gọi là. – Alexander

+0

Tôi đã thêm câu trả lời khi xem xét điều này. – Kangkan

Trả lời

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