2015-02-20 17 views

Trả lời

7

Trong thế giới ASP.NET 5 mới này, có hai khía cạnh chính của phát triển ứng dụng.

  1. Tiêm phụ thuộc. Aka những gì dịch vụ sẽ được yêu cầu để chạy ứng dụng của chúng tôi?
  2. Đường ống ứng dụng/yêu cầu. Về cơ bản, cách chúng tôi trả lời câu hỏi "Làm gì khi yêu cầu truy cập máy chủ".

Do hai mối quan tâm chính này xảy ra khi có hai cơ chế để buộc vào hệ thống.

Đầu tiên, UseMVC là cách ứng dụng của bạn có thể nói rằng tôi muốn MVC tham gia vào giai đoạn xử lý yêu cầu tại điểm "này". Về cơ bản nó là một phím tắt đến một phần mềm trung gian cụ thể của MVC.

Thứ hai, AddMvc là cách ứng dụng của bạn cho biết bạn muốn các dịch vụ MVC có sẵn cho hệ thống (cần thiết để UseMvc) hoạt động chính xác. Vì vậy, nếu bạn đã thử và làm UseMvc mà không cần thêm các dịch vụ MVC tương ứng, cuộc gọi sẽ bị ném. Lưu ý rằng điều này thêm các dịch vụ MVC thích hợp vào vùng chứa DI.

Hy vọng điều này đã trả lời các câu hỏi của bạn, để biết thêm thông tin về nó, bạn có thể xem http://www.asp.net/vnext để biết thêm thông tin chung. Đối với một cái gì đó cụ thể hơn/video tôi đã có cuộc trao đổi một khi trở lại tại hội nghị Orchard nơi tôi đi qua một vài trong những phần cốt lõi https://www.youtube.com/watch?v=kqgIByKn9Wk

Lưu ý: tôi đã nói chuyện một thời gian trở lại, một số khái niệm là lỗi thời/thể đã thay đổi nhưng các khái niệm cốt lõi là như nhau.

+0

Câu trả lời hay, nhưng ví dụ, NancyFX không cần thêm bất kỳ thứ gì vào phương thức ConfigureService, chỉ sử dụng phương thức Configure trong phương thức Configure, đó là điều khiến tôi khó hiểu. – user2070369

+0

Cuối cùng, nó phụ thuộc vào khung làm cách họ muốn kết hợp các cuộc gọi "thêm tôi" của họ. Như bạn sẽ thấy trong video, tôi sẽ làm app.UseServices (services => ....) để đăng ký dịch vụ. Đây là một cách nhanh chóng để đăng ký dịch vụ cho một bản demo. Cách tiếp cận tốt hơn là sử dụng phương thức ConfigureServices trong lớp khởi động của bạn. Chúng tôi quyết định giữ hai cách tách biệt vì chúng thực sự là hai khái niệm khác nhau, có hai khái niệm riêng biệt cho phép bạn đặt tất cả mã DI ở một nơi và mã 'Use' của bạn ở một nơi khác. –

+0

@ user2070369 Không hoàn toàn chính xác, NancyFX yêu cầu bạn ghi đè GetApplicationContainer nếu bạn muốn một DI-framework không có dây bên trong một NancyBootstrapper. Vì vậy, ví dụ trong ASP.NET 5 của bạn - Cấu hình chức năng nơi bạn đặt UseNancy bạn cũng sẽ cần phải xây dựng một container DI đầu tiên và sau đó trở về từ GetApplicationContainer – Janus007

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