Tôi đang bận phát triển mô-đun Orchard không ví dụ đầu tiên của mình. Nó là một số ít các bộ điều khiển và khung nhìn, với truy cập dữ liệu tùy chỉnh (EF), và phần lớn độc lập với các loại nội dung và các phần của Orchard. Thông thường tôi thiết lập ánh xạ trong một trình xử lý Application_Start, nhưng khi các hành động trong mô-đun MVC này sẽ được gọi trong ngữ cảnh của ứng dụng Orchard, tôi không còn có điểm vào đó nữa. Giải pháp rõ ràng nhất và ngay lập tức của tôi là di chuyển ánh xạ khởi tạo vào các hàm tạo tĩnh cho các mô hình chế độ xem được ánh xạ, ví dụ:Tôi có thể khởi tạo ánh xạ AutoMapper trong mô-đun Orchard ở đâu?
public class ApplicantPersonalDetailsModel : MappedViewModel<Applicant>
{
static ApplicantPersonalDetailsModel()
{
Mapper.CreateMap<Applicant, ApplicantPersonalDetailsModel>().Bidirectional();
}
....
}
Tôi có thể làm điều này bằng cách nào khác? là có một cách tốt hơn để làm điều này trong MVC3/4 nói chung, hoặc tốt hơn, một sự kiện hoặc móc tôi có thể lấy trong các ứng dụng Orchard cũng đạt được điều này trên khởi động applicaion?
Có thể 'InitPartRecord' sau đó chỉ là giả, tức là rỗng, lớp học? Liệu Orchard có gọi Init trên tất cả các trình xử lý hay tôi phải đăng ký một phần ở đâu đó, ngay cả khi tôi không viết mã khác để xác định nó? –
ProfK
yes it can.InitPartHandler sẽ được đăng ký vào danh sách xử lý đơn giản bằng cách lái xe từ ContentHandler.and InitPart và InitPartRecord sẽ là một lớp giả như bạn đã đề cập.cehck chỉnh sửa của tôi. –