2010-06-01 33 views
5

Giống như hầu hết các ứng dụng web bạn có phương thức được gọi khi bạn đăng nhập. Có một vài điều có thể cần thực hiện khi đăng nhập và theo thời gian, điều này có thể tăng lên. ví dụ. đăng nhập, email chào mừng, bảo trì.Cách tốt nhất để xử lý nhiều hành động là gì?

Sự kiện có nên được sử dụng để thực hiện việc này hay không? Có cách nào tốt hơn không ?? Tôi đang sử dụng C# và ASP.net MVC.

Cập nhật
Điều này đã có trong lớp Lớp dịch vụ. ví dụ.

public void Login(User user) 
     { 
      SetAuthCookie(user); 
      LogLogin(user, true); 
      SendEmails(); 
     } 

Trả lời

0

Khía cạnh có thể là cách hay để thực hiện. Nếu họ đang quan tâm chéo, AOP là con đường để đi.

2

Trích xuất logic ứng dụng thành các lớp riêng biệt. Ứng dụng của bạn sẽ dễ làm việc hơn nếu bạn giữ bộ điều khiển càng mỏng càng tốt.

Bài đăng, Chuyển hướng, Nhận mẫu có hiệu lực đối với MVC. Một bài đăng hay về bộ sưu tập dấu trang của tôi là: http://www.eworldui.net/blog/post/2008/05/ASPNET-MVC---Using-Post2c-Redirect2c-Get-Pattern.aspx

Tôi cũng khuyên bạn nên xem Bộ lọc hành động. Robert Conery có một giới thiệu tốt về cách sử dụng bộ lọc hành động trên blog của mình tại http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/. Bài đăng là xác thực cụ thể, nhưng các khái niệm có thể được ngoại suy cho bất kỳ loại chức năng nào bạn muốn triển khai.

+0

Vâng ... tôi biết điều này, nhưng có lẽ tôi đã đặt câu hỏi sai vì điều này không trả lời – Schotime

0

Tôi thực sự thích cách tiếp cận hiện tại của bạn. Tuy nhiên, tôi đã nhìn thấy các ví dụ với các sự kiện nhưng với tôi có vẻ như nỗ lực nhiều hơn giá trị của nó trừ khi bạn có một ứng dụng phức tạp 'rất'.

Tôi nghĩ rằng những gì bạn đang đề cập đến là Domain Events. Ngoài ra, hãy xem số blog post của Jimmy Bogard dựa trên liên kết đầu tiên. Và cuối cùng, từ SO - How to avoid anemic domain models, or when to move methods from the entities into services

Lời khuyên của tôi - cố gắng giữ cho bạn thiết kế đơn giản và dễ quản lý càng lâu càng tốt là cách có ý nghĩa với bạn. Trừ khi có một lý do rất thuyết phục để thay đổi cách tiếp cận hiện tại của bạn để sử dụng các sự kiện, hãy gắn bó với nó.

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