2013-09-01 41 views
5

Đối với nhiều nhà phát triển ASP.NET và ASP.NET Web Forms là những điều tương tự. Đối với một số thời gian tôi đã sử dụng Web Forms, nhưng gần đây tôi đã học được rằng Web Forms chỉ xây dựng trên đầu trang của ASP.NET. Tôi trở nên tò mò hơn làm thế nào một ứng dụng đơn giản ASP.NET trông giống như thế. Tôi đã học về 3 mô hình lập trình ASP.NET: Biểu mẫu Web, Trang Web và MVC (Here Scott Hanselman giải thích ngắn gọn về sự khác biệt). Nhưng nó vẫn seams rằng tất cả 3 phương pháp tiếp cận nằm trên đầu trang của ASP.NET.Ví dụ đơn giản ASP.NET đơn giản (không có biểu mẫu web và MVC)

Tôi đã cố gắng tìm một ứng dụng ví dụ sử dụng ASP.NET thuần túy, nhưng tôi không thể tìm thấy bất kỳ thứ gì.

Tôi bắt đầu tìm hiểu sâu hơn về mã nguồn của trang web ASP.NET và tôi phát hiện ra rằng mỗi trang web thực sự là HTTP Handler (mỗi trang thực hiện giao diện IHTTPHandler). Nó có nghĩa là ứng dụng ASP.NET thuần túy sẽ chỉ là một trình xử lý HTTP Handler? Hay tôi đang thiếu cái gì đó.

Trong sự hiểu biết của tôi ASP.NET Web Forms tương ứng với Win Forms trong thế giới máy tính để bàn. Nhưng trong thế giới máy tính để bàn, bạn vẫn có thể viết ứng dụng giao diện điều khiển không sử dụng Win Forms. Vậy điều gì tương đương với ứng dụng giao diện điều khiển trong thế giới web?

Bất kỳ nhận xét hoặc tham chiếu nào được đánh giá cao. Cảm ơn trước.

+0

Để so sánh: C# (Ngôn ngữ), .NET (Công nghệ) và Win Forms (Nơi bạn có thể xây dựng các ứng dụng Windows thời gian thực) ... Bây giờ so sánh với C# (Ngôn ngữ), ASP.NET (Công nghệ) và Web Forms (Nơi bạn có thể xây dựng các ứng dụng WEB thời gian thực). Chỉ cần ASP.NET là công nghệ cơ bản (Framework) xác định cách các ứng dụng web (được viết bằng các ngôn ngữ này được hỗ trợ bởi thời gian chạy ASP.NET) cần thực thi. – Prash

+0

@Prash, cảm ơn bạn đã nhập. Đung. Nhưng bạn có thể viết một ứng dụng trong .NET mà không cần sử dụng Win Forms (bằng cách viết ứng dụng console đơn giản). Và làm thế nào để viết một ứng dụng trong ASP.NET mà không cần sử dụng các biểu mẫu Web. –

+0

Vì bạn đang trích dẫn Win Forms làm ví dụ, tôi sẽ nói; trong ứng dụng Win Forms bạn chỉ ẩn Bảng điều khiển. Bạn có thể chuyển đến cài đặt dự án và thay đổi cài đặt để hiển thị bảng điều khiển. Nói cách khác, bạn có thể nói Win Forms cũng là một ứng dụng giao diện điều khiển, nơi một Giao diện người dùng đồ họa được mở trên một chuỗi riêng biệt. – Prash

Trả lời

5

ASP.NET là một bộ công nghệ rất rộng, bao gồm WebForms .. và của MVC5, nó cũng bao gồm MVC, WebApi và WebPages. Đây là những gì mà Microsoft đang gọi là sáng kiến ​​"Một ASP.NET".

Đây là tất cả các phần của ASP.NET, giống như ASP.NET là một phần của .NET. Đây chỉ là những lớp. Không có phần 'riêng biệt' được gọi là asp.net không chứa các phần này (và thậm chí trong các phiên bản trước đó, không có phiên bản asp.net nào không bao gồm WebForms).

Như vậy, không có ứng dụng nào như ứng dụng "thuần túy asp.net". Bạn chắc chắn có thể viết một ứng dụng không sử dụng WebForms (có nghĩa là không có tệp .aspx hoặc ascx hoặc .master, không có Điều khiển máy chủ nào ... về cơ bản bất kỳ thứ gì tồn tại trong không gian tên System.Web.UI.)

Tối đa, bạn có thể xem xét điều này bất cứ điều gì trong không gian tên System.Web (không có bất kỳ mức độ không gian tên nào khác. Về cơ bản những gì ở đây http://msdn.microsoft.com/en-us/library/system.web.aspx)

Vì vậy, đó sẽ là những thứ như đối tượng Yêu cầu, đối tượng phản hồi, xử lý Cookie, Thành viên, FormsAuthentication, v.v. Đây là hệ thống ống nước cơ bản không phải tất cả đều hữu ích. Bạn sẽ phải viết một khung trình bày của riêng bạn để ngồi trên đầu trang của nó.

Có các khung công tác khác, chẳng hạn như FubuMVC, Nancy, MonoRail, vv ... chúng giống như MVC hoặc WebForms hoặc WebPages ... bằng cách sử dụng các lớp ASP.NET cơ bản để thực hiện công việc của chúng.

0

Tôi muốn giới thiệu bạn, ví dụ, với ASP.NET MVC. ASP.NET MVC là một khung trên đầu trang của ASP.NET nhưng chắc chắn không phải là biểu mẫu web (trên thực tế, nó thay thế nó hoàn toàn, và theo ý kiến ​​của tôi - cho tốt nhất).

ASP.NET cung cấp dịch vụ chung cho web nói chung, mọi thứ như:

  • yêu cầu xử lý và phản ứng
  • Security, Authentication, mạo danh, vv
  • Duy trì một 'ứng dụng' (khái niệm của Global.asax ví dụ như một khuôn khổ xung quanh instansiating ứng dụng, tắt chúng xuống, xử lý những điều trung tâm như tuyến đường, xử lý ngoại lệ uncaught vv.)
  • Chăm sóc quyền lưu trữ
  • Physical & ứng dụng ảo
  • Giao diện với IIS (hoặc các máy chủ web khác) nói chung
  • Chạy Modules (ngoài HTTP Handlers)

Web Forms cho biết thêm một lớp trình bày trên đầu trang cơ sở hạ tầng của ASP.NET. Nó cung cấp những thứ như biểu mẫu, ViewState và như vậy. Ví dụ: "Dịch" mã-mã sau sang biểu diễn HTML. Đây chỉ là một vài ví dụ.

Sự tách biệt giữa ASP.NET dưới dạng cơ sở hạ tầng và Biểu mẫu web dưới dạng lớp trình bày cho phép tạo ASP.NET MVC sau này. ASP.NET MVC không dựa vào 'Forms', không cố bắt chước quy trình phát triển WinForms (bằng cách che khuất HTML nguyên bản bằng cách sử dụng "phương thức" và "thuộc tính") và trên thực tế cung cấp chính xác hơn & cách để phát triển web.

Bạn đã hỏi về tinh khiết ASP.NET. Đây là một ví dụ về ASP.NET thuần túy, không có WebForms, không có MVC. Đây là một: http://support.microsoft.com/kb/308001.Đó là một HTTP Handler cơ bản, trong ví dụ này, chạy mỗi khi trình duyệt của bạn đến một số địa chỉ kết thúc bằng .sync (bằng cách "dạy" ASP.NET để xử lý mọi yêu cầu sử dụng phần mở rộng đó). Nhân tiện, bạn có thể coi nó là ứng dụng "giao diện điều khiển" (theo điều kiện của bạn). Nó nhận được một URL, không có vấn đề nơi từ (bạn có thể sử dụng curl nếu bạn thích) và trả về một phản ứng văn bản, và đó là tất cả.

+0

* ho * WebForms XemEngine * ho * –

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