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

Article ID: 1116
Cập nhật gần nhất: 19 Th11, 2024

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

(Lưu ý khi muốn triển khai ứng dụng thì triển khai trên  VPS vẫn là lựa chọn tối ưu hơn cả)

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 HOSTVN không cho phép chạy các file thực thi .exe.

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!

Article ID: 1116
Cập nhật gần nhất: 19 Th11, 2024
Lần sửa đổi: 1
Lượt xem: 0