Tôi thực sự mới vào thùng chứa Castle Windsor IoC. Tôi muốn biết nếu theres một cách để lưu trữ các biến phiên sử dụng container IoC. Tôi đã suy nghĩ một cái gì đó trong dòng này:Dự án lâu đài cho mỗi phiên làm việc với ASP.NET MVC
Tôi muốn có một lớp để lưu trữ tùy chọn tìm kiếm:
public interface ISearchOptions{
public string Filter{get;set;}
public string SortOrder{get;set;}
}
public class SearchOptions{
public string Filter{get;set;}
public string SortOrder{get;set;}
}
Và sau đó tiêm đó vào lớp mà đã sử dụng nó:
public class SearchController{
private ISearchOptions _searchOptions;
public SearchController(ISearchOptions searchOptions){
_searchOptions=searchOptions;
}
...
}
sau đó trong web.config của tôi, nơi tôi cấu hình lâu đài tôi muốn có một cái gì đó như:
<castle>
<components>
<component id="searchOptions" service="Web.Models.ISearchOptions, Web" type="Web.Models.SearchOptions, Web" lifestyle="PerSession" />
</components>
</castle>
Và có container IoC xử lý đối tượng phiên mà không cần phải tự truy cập một cách rõ ràng.
Tôi làm cách nào để thực hiện việc này?
Cảm ơn.
EDIT: Đã thực hiện một số nghiên cứu. Về cơ bản, những gì tôi muốn là có một phiên Scoped thành phần. Tôi đến từ Java và Spring Framework và ở đó tôi có đậu phiên giao nhau mà tôi nghĩ là rất hữu ích để lưu trữ dữ liệu phiên.
Cảm ơn, đây chính xác là những gì tôi đang tìm kiếm. –
Tôi cũng vậy! Cảm ơn. –
Tôi đoán bạn nên thay đổi tên trường từ PerRequestObjectID thành PerSessionObjectID. Trên thực tế tôi tin rằng việc xem tài liệu có thể giúp bạn có được một chặng đường dài :) http://www.castleproject.org/container/documentation/trunk/usersguide/lifestyles.html – Siewers