Hướng dẫn triển khai mã nguồn .Net core lên hosting Window

  • Friday 12/07/2024

Triển khai mã nguồn .NET Core lên hosting Windows có một số điểm đặc biệt cần chú ý. Bài viết này sẽ hướng dẫn bạn các khai báo cụ thể để triển khai ứng dụng .NET Core theo hai cách khác nhau: sử dụng file .dll và sử dụng file .exe với tham số hostingmodel.

triển khai mã nguồn .Net core

1. Các Dạng File Chạy của .NET Core

Khi triển khai mã nguồn .NET Core, bạn sẽ gặp hai dạng file chạy chính:

  • .exe
  • .dll

Lưu ý quan trọng

Vì lý do bảo mật, các dịch vụ hosting tai PA không cho phép chạy các file thực thi .exe. Tham khảo thêm chi tiết tại đây.

2. Cách Triển Khai Mã Nguồn .NET Core Lên Hosting Windows

Cách 1: Sử Dụng File .dll

Trong trường hợp này, bạn sẽ thay đổi cấu hình để sử dụng file .dll của ứng dụng. Dưới đây là một mẫu cấu hình web.config đầy đủ cho việc triển khai:

Mẫu web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>

Trong đó:

  • processPath="dotnet": Chỉ ra rằng ứng dụng sẽ được chạy bằng lệnh dotnet.
  • arguments=".\MyApp.dll": Tham số chỉ đường dẫn tới file .dll của ứng dụng.

Cách 2: Sử Dụng File .exe Với Hosting Model InProcess

Với .NET Core 3.1 trở lên, bạn có thể khai báo sử dụng file .exe và thêm thông số hostingModel=inprocess để đảm bảo ứng dụng chạy trong tiến trình của IIS. Dưới đây là một mẫu cấu hình web.config đầy đủ cho việc triển khai:

Mẫu web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath=".\MyApp.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess"/>
  </system.webServer>
</configuration>

Trong đó:

  • processPath=".\MyApp.exe": Chỉ ra rằng ứng dụng sẽ được chạy trực tiếp từ file .exe.
  • hostingModel="inprocess": Thiết lập mô hình hosting inprocess để ứng dụng chạy trong tiến trình của IIS  (không vi phạm chính sách chạy các file thực thi .exe trên hosting).

Kết Luận

Triển khai ứng dụng .NET Core lên hosting Windows có thể thực hiện theo hai cách: sử dụng file .dll hoặc sử dụng file .exe (với hostingModel=inprocess). Việc chọn cách nào phụ thuộc vào yêu cầu cụ thể của dự án và các giới hạn bảo mật của dịch vụ hosting bạn đang sử dụng.

Chúc bạn triển khai ứng dụng thành công!


Bạn có thễ tham khảo thêm các bài viết hữu ích tại đây

P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàng
Hosting Phổ Thông
Hosting Chất Lượng Cao

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

Rate this post