2010-01-15 42 views
5

Tôi có trang web sở thích công khai với khoảng 3000 khách truy cập mỗi ngày, được viết bằng ASP cổ điển có nhu cầu sửa đổi và thiết kế lại kém. Tôi đã phải đối mặt với việc thực hiện rằng việc nâng cấp lên ASP.net là cách tốt nhất để thực hiện các tính năng chỉ là quá khó trong ASP cho người sở hữu (tiêu thụ nguồn cấp dữ liệu RSS, xác thực và hồ sơ người dùng) nhưng tôi muốn bị mắc kẹt vào một lần tôi vượt qua việc thiết kế lại/nâng cấp.Tư vấn về cách sử dụng ASP.net WebForms hoặc MVC

Nhưng, tôi đã bị tê liệt vì không chắc chắn về cách thức để đi: Biểu mẫu web hoặc MVC - cộng với thực tế là luôn luôn có một số bản phát hành mới sắp ra mắt, có vẻ như sẽ rất đáng để nâng cao đường cong học tập. Vì vậy, tôi dành hàng giờ đọc về WebForms sau đó đọc một cái gì đó mà nói với tôi tôi có thể tốt hơn suy nghĩ về MVC, sau đó đọc về MVC và tự hỏi liệu nó thực sự phù hợp với những gì tôi đang cố gắng để làm.

Không có hướng dẫn và trang web khởi động nào thực sự nói về những gì hoạt động tốt cho các trang web là trang web thông tin tĩnh cũ truyền thống (không phải danh mục hoặc hướng nội dung người dùng).

Trang web của tôi có khoảng 75% các trang thông tin tĩnh hiếm khi thay đổi. Tuy nhiên, kịch bản ASP là cần thiết trong giao diện người dùng trên tất cả các trang đó - tự động hoặc chọn ngẫu nhiên các yếu tố thiết kế (như ảnh tiêu đề) hoặc cung cấp hộp thanh bên cụ thể dựa vào ngày trong năm hoặc ngẫu nhiên.

Loại tập lệnh tôi có là những thứ như tập lệnh để chọn ngẫu nhiên và hiển thị một trong 30 hình ảnh tiêu đề cho trang, tập lệnh để hiển thị văn bản và liên kết dựa vào ngày nào trong năm, tập lệnh cho phép tôi tuyên bố một từ khóa tìm kiếm cụ thể là có liên quan đến nội dung cho một trang cụ thể và được tải trước đó làm văn bản trong hộp nhập tìm kiếm khi trang tải.

Đối với hầu hết các phần còn lại của trang, chúng sắp hiển thị dữ liệu. Một số trong số đó là các bản ghi chép nhỏ (thông tin về niên giám loại về những gì là quan trọng về ngày đặc biệt này trong năm) và tôi lưu nó và kéo nó từ một biến Array trong chính trang đó. Những người khác lấy thông tin từ cơ sở dữ liệu Access thay đổi ít khi tôi chưa bao giờ bận tâm thực hiện chức năng CUD trực tiếp trên trang web (và vai trò và xác thực cần thiết để bảo mật), nhưng chỉ cập nhật cơ sở dữ liệu ngoại tuyến và tải lên để gửi thay đổi trực tiếp .

Với ASP.net, tôi sẽ chuyển sang SQL Server và xây dựng các trang quản trị trực tiếp. Tôi không cần phải gắn bó với Access.

Nhưng, tôi quen với việc viết HTML và CSS thô và tôi đang tìm kiếm WebForms (đặc biệt là Viewstate và events/postbacks) một thách thức để có được đầu của tôi xung quanh khái niệm. Mặc dù nó có vẻ phù hợp hơn với trang tĩnh trong một hệ thống tệp với một số mã phía máy chủ mà tôi thường sử dụng.

Mặt khác, MVC có vẻ rất phù hợp với thiết kế được mã hóa dễ thương, nhưng mọi thứ được lấy từ cơ sở dữ liệu.

Bạn sẽ đề xuất điều gì? Tôi có nên kéo tất cả các trang tĩnh vào cơ sở dữ liệu và phục vụ chúng thông qua chế độ xem "bài viết" trong MVC không?

Tôi không phải là nhà phát triển chuyên nghiệp - do đó, nó không phải về những gì sẽ trông đẹp nhất trong lý lịch của tôi. Tôi chỉ tìm kiếm những gì sẽ (a) có đường cong học tập ít nhất cho một người đến từ biểu thức nội tuyến VBScript trong ASP cổ điển và (b) những gì phù hợp nhất với trang web của tôi và (c) cho phép tôi kiểm soát lên và CSS.

Trả lời

7

Chắc chắn đi MVC, đặc biệt nếu bạn cảm thấy thoải mái hơn khi là một anh chàng HTML/CSS.Postback cung cấp không có lợi thế cho một trang web mà là phần lớn tĩnh, và nó sẽ mất vài tháng để bạn có được đầu của bạn xung quanh vòng đời trang (tôi chưa gặp một nhà phát triển là một bậc thầy của vòng đời sau 6 tháng mã hóa trong đó.)

Chuyển đổi trang web ASP cổ điển thành MVC về cơ bản sẽ liên quan đến việc di chuyển thẻ HTML và ASP của bạn vào Chế độ xem và sao chép URL hiện tại của bạn bằng cách sử dụng cơ chế định tuyến. Bạn sẽ cần nâng cấp các tập lệnh của mình để sử dụng một số chức năng hiện đại hơn, nhưng điều đó sẽ khá đơn giản mà tôi sẽ tưởng tượng.

Tôi không đồng ý với ý tưởng rằng trong tất cả mọi thứ MVC được lấy từ cơ sở dữ liệu - đó là một chút không liên quan đến kiến ​​trúc. Tôi đã mã hóa 100% các trang web tĩnh trong khung MVC và yêu thích nó :)

Quy tắc chung của tôi có xu hướng hướng tới điều này: "MVC dành cho trang web, WebForms dành cho ứng dụng web doanh nghiệp - có thể".

4

MVC phù hợp với những gì bạn đang làm.

Hoàn toàn ổn khi có lượt xem tĩnh, nếu cần. Chỉ cần nhìn vào những gì được tạo ra bởi mẫu File-> New Project của MVC, ví dụ.

Xem xét rằng bạn đã quen với việc viết HTML/CSS và cả hai khung công tác sẽ trình bày một đường cong học tập, tôi chắc chắn sẽ giới thiệu MVC. Tôi nghĩ rằng bạn sẽ tìm thấy MVC phù hợp với yêu cầu A và C tốt hơn nhiều so với WebForms quá (và cả hai đáp ứng B).

0

Sử dụng những gì hiệu quả nhất, nếu bạn đã quen thuộc với biểu mẫu web và giống như mô hình theo hướng sự kiện, bạn luôn có thể xem xét MVP (Model-View-Presenter).

ASP.NET MVC thực sự tuyệt vời và đối với tôi, nó làm tăng năng suất.

2

Xem xét trải nghiệm của bạn tôi sẽ đề xuất bạn sử dụng ASP.NET MVC. Vì bạn đã quen thuộc với HTML & CSS, bạn sẽ phải quen với mẫu MVC ít hơn một tuần. Ngoài ra MVC là tốt hơn và nhanh hơn cho chỉ hiển thị một dữ liệu và nó hỗ trợ bộ nhớ đệm đầu ra để bạn có thể cache các trang tĩnh và đạt được tốc độ tuyệt vời. Ngoài ra nó không phải là một vấn đề để sử dụng một hỗn hợp giữa hai - bạn vẫn có thể có các trang WebForms và sử dụng các điều khiển mà bạn cần chúng.

0

Trước hết, bạn thực sự cần phải đảm bảo rằng viết lại đáng để nỗ lực. Trong kinh nghiệm của tôi viết lại mất nhiều công việc hơn dự kiến ​​và có một thời gian hoàn vốn dài. Điều đó không có nghĩa là họ không nên làm, điều đó có nghĩa là phải có một lý do thực sự tốt để bắt đầu một. Các tính năng bạn đề cập có thể dễ dàng được triển khai trong ASP cổ điển chỉ trong một phần nhỏ thời gian. Một ứng dụng cũ là trận chiến sợ hãi bằng cách tinh chỉnh, sửa lỗi và các tính năng ẩn. Viết lại thường có nghĩa là mất đi những năm kinh nghiệm đó. Tất cả phụ thuộc vào các tính năng hiện tại/tỷ lệ tính năng mới.

Thứ hai, nếu bạn định viết lại, bạn cũng có thể muốn thanh toán công nghệ ngoài asp.net. Các trang web bạn mô tả có vẻ là rất nội dung định hướng mà tốt hơn có thể phù hợp với django hơn asp.net MVC. Chúc may mắn với trang web của bạn.

0

Tôi cũng khuyên bạn nên sử dụng ASP.NET MVC vì bạn khá quen thuộc với HTML/CSS. Ngoài ra với các tính năng như Định tuyến, bạn có thể tổ chức cấu trúc của trang web theo cách tốt hơn. Ngoài ra, trang web của bạn trở nên tiên đoán hơn cho khách truy cập vì URL.

Ví dụ:

www.domain.com/hobbies/photography 
2

Từ kinh nghiệm của tôi đi từ ASP để ASP.NET và ASP.NET MVC, nó dễ dàng hơn để vượt qua từ ASP sang ASP.NET MVC. Tuy nhiên, đường cong học tập không phải là dễ dàng như vậy hãy đọc và làm theo http://nerddinnerbook.s3.amazonaws.com/Intro.htm và, sau khi bạn đã đọc, xem có gì mới trong phiên bản 2, ví dụ:

weblogs.asp.net/scottgu/archive/2010 /01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx

Nó sẽ trở thành RAD cho các nhà phát triển có kinh nghiệm!

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