2016-06-30 76 views
9

Kể từ khi tôi nghe về ASP.NET Core.NET Core Tôi đã tự hỏi tại sao bạn muốn phát triển một ASP.NET Core web application chạy trên .NET Core qua .NET nếu bạn đang chạy Windows máy chủ, như Windows Server 2012? Tôi có thể hiểu rằng nếu bạn đang phát triển cho nền tảng chéo cho một cái gì đó khác như Ubuntu nhưng nếu bạn đang chạy một máy chủ Windows tại sao bạn muốn phát triển đi theo tuyến đường .NET Core?Tại sao chạy ASP.NET Core trên .NET Core trên .NET trên Windows Server

Lợi ích (nếu có) là gì? Tôi cảm thấy như tôi đang thiếu một cái gì đó ở đây? Đây có phải là cách lý tưởng để làm ASP.NET phát triển và triển khai web trong tương lai không? Khi nào bạn muốn sử dụng khung .NET đầy đủ cho việc phát triển web ASP.NET thay vì khuôn khổ .NET Core?

Không phải ai cũng đang phát triển cho nền tảng chéo? Tôi đã và đang phát triển cho các máy chủ Windows trong suốt cuộc đời của mình và không bao giờ cần phải làm bất cứ điều gì trên nền tảng. Tôi không nghĩ rằng tôi sẽ bao giờ phát triển bất cứ điều gì qua nền tảng bằng cách sử dụng. NET - Tôi có lẽ sẽ sử dụng một cái gì đó khác hơn NET (nếu tôi từng đi tuyến đường này).

Tôi hy vọng rằng ai đó có thể giúp làm rõ sự nhầm lẫn của tôi?

+1

có vẻ hoàn toàn hợp pháp để chỉ dính vào khung máy tính để bàn trên máy chủ thắng 2012. điều duy nhất tôi có thể nghĩ đến là .NET Core có thể được cập nhật thường xuyên hơn khung làm việc toàn màn hình. cũng khi chúng tôi nhận được container trên máy chủ nano, dấu chân nhỏ hơn của .NET Core sẽ mang lại lợi ích –

+0

@ DanielA.White Câu hỏi của tôi khá cụ thể. –

Trả lời

3

Chạy ASP.NET Core trên các khuôn khổ đầy đủ hoạt động tuyệt vời nếu bạn đang chạy trên Windows và trên thực tế đó là cách tiếp cận tôi đã chọn cho porting cũ Web Forms tôi Applications. Nếu bạn không cần hỗ trợ nền tảng chéo, tôi nghĩ ASP.NET Core trên khung công tác đầy đủ là một lựa chọn tuyệt vời.

.NET Core Framework không gần như đầy đủ tính năng như Khuôn khổ đầy đủ và có thể khó khăn hơn để chuyển một ứng dụng cũ sang nó. Ví dụ, nó không hỗ trợ thao tác hình ảnh hiện tại. Tuy nhiên, một trong những lợi ích to lớn của việc nhắm mục tiêu .NET Core Framework bên cạnh thực tế là nền tảng chéo của nó là nó có kích thước nhỏ hơn nhiều so với Full Framework và nó có thể được triển khai thông qua bản sao tệp với ứng dụng của bạn. Điều này có nghĩa rằng máy chủ đích không cần phải có một khung .Net được cài đặt trước khi triển khai để chạy mã của bạn. Điều này có thể hữu ích trong một số trường hợp lưu trữ đám mây mà bạn không có quyền kiểm soát cài đặt cấp máy chủ và có thể hữu ích khi triển khai tới các môi trường bị hạn chế như thiết bị IoT.

Điều đó nói rằng, tôi nghi ngờ rằng sẽ có rất nhiều ứng dụng ASP.NET Core được viết để hỗ trợ Khung công tác đầy đủ. Trong một số cách nó là một cặp đôi đẹp. Một mặt bạn có nền tảng web ASP.NET Core siêu nhẹ và siêu nhanh với Trình trợ giúp thẻ và tất cả sự tốt lành đó và mặt khác bạn vẫn có quyền truy cập trên Windows vào một khung công cụ đầy đủ tính năng mà rất nhiều nhà phát triển Net biết và yêu thích .

+0

Cảm ơn bạn đã không sao chép và dán câu trả lời như dưới đây :) –

+0

@BrendanVogt Cảm ơn! –

8

.NET Core

ASP.NET có thể chạy trên NET Lõi hay trên .NET Framework đầy đủ. Khuôn khổ .NET chạy trên Windows chỉ và sử dụng đầy đủ dấu chân của khuôn khổ .NET.

Bạn vẫn có thể sử dụng đầy đủ khuôn khổ NET, nếu bạn không cần những điều sau đây:

NET Core là host/OS thuyết bất khả tri

Bạn có thể chạy các ứng dụng của bạn trên khác nhau hệ điều hành host:

  • Linux, Windows, MAC
  • IIS, ứng dụng Console, ..

và có thể được sử dụng trong các trường hợp thiết bị, đám mây và nhúng/IoT.

mô đun

NET Core là một thời gian chạy và thư viện mô-đun thực hiện mà bao gồm một tập hợp con của .NET Framework.

Có nghĩa là, bạn chỉ có thể cài đặt các gói cần thiết qua nuget.

Portability:

Bạn có thể đóng gói và triển khai CoreCLR với ứng dụng của bạn, loại bỏ sự phụ thuộc ứng dụng của bạn trên một phiên bản cài đặt của .NET (ví dụ.NET Framework trên Windows). Bạn có thể lưu trữ nhiều ứng dụng side-by-side sử dụng các phiên bản khác nhau của CoreCLRnâng cấp chúng riêng, chứ không phải bị ép nâng cấp tất cả trong số họ đồng thời.

Giảm Footprint

Bằng cách phân tách các thư viện CoreFX và cho phép cá nhân ứng dụng để kéo chỉ trong những bộ phận của CoreFX họ yêu cầu (một cái gọi là “pay-cho-play” mô hình), các ứng dụng dựa trên máy chủ được xây dựng với ASP.NET có thể giảm thiểu sự phụ thuộc của chúng.

App-mô hình

NET Core không hỗ trợ tất cả các ứng dụng .NET Framework-mô hình, một phần vì nhiều trong số họ được xây dựng trên công nghệ Windows, chẳng hạn như WPF (được xây dựng trên đầu DirectX). Giao diện điều khiển và các mô hình ứng dụng ASP.NET Core là được hỗ trợ bởi cả .NET Core và .NET Framework.

API

NET lõi chứa nhiều giống nhau, nhưng ít hơn, API như .NET Framework , và với một thanh toán khác nhau (tên lắp ráp là khác nhau; loại hình khác trong các trường hợp chính). Những khác biệt này hiện thường yêu cầu thay đổi đối với nguồn cổng thành .NET Core. .NET Core triển khai API Thư viện chuẩn .NET, sẽ phát triển thành bao gồm nhiều API .NET Framework BCL theo thời gian.

Các hệ thống con

NET Lõi thực hiện một tập hợp con của các hệ thống con trong .NET Framework, với mục tiêu của việc thực hiện và lập trình mô hình đơn giản hơn. Ví dụ , Mã truy cập bảo mật (CAS) không được hỗ trợ, trong khi phản ánh được hỗ trợ.

Patches/cập nhật:

này, đến lượt nó, làm giảm tần số mà các bản vá lỗi và cập nhật khuôn khổ sẽ ảnh hưởng các ứng dụng này, vì chỉ có những thay đổi thực hiện cho các mảnh cá nhân của CoreFX được ứng dụng thừa hưởng sẽ ảnh hưởng đến ứng dụng.

Triển khai:

Một kích thước triển khai nhỏ hơn cho các ứng dụng là một lợi ích phụ, và một mà làm nhiều hơn một sự khác biệt nếu nhiều ứng dụng được triển khai side-by-side trên cho máy chủ. Có thể được bao gồm trong ứng dụng của bạn hoặc được cài đặt cạnh người dùng hoặc toàn bộ máy.

Open Source:

Các NET nền tảng cốt lõi là mã nguồn mở, sử dụng MIT và Apache 2 giấy phép. Tài liệu được cấp phép theo CC-BY. .NET Core là một dự án .NET Foundation. .NET Core là nguồn mở, trong khi một tập hợp con chỉ đọc của .NET Framework là mã nguồn mở.

enter image description here

+0

Đoạn mã tài liệu của bạn quá thời tiền sử :) –

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