分享程式代碼相關筆記
目前文章總數:157 篇
最後更新:2024年 12月 07日
Windows 上使用這範例代碼進行說明
先用 Git 拉取 Source Code
拉取完成後,進入 Aspire Host 專案,打開 Windows Command Line
※實務上此步驟開始可以轉為 Windows Service
輸入以下指令啟動 Aspire
dotnet run --project ./AspireIntegrationAppHostExample.csproj
可以觀察到啟動的 URL 如下:
https://localhost:17105
接著就可以在瀏覽器上看到 Windows Server 已經可以運行 Aspire
可以用以下指令檢查是否有更新到最新的 Dotnet SDK
若無資訊,需先從 Windows 官網下載 SDK
dotnet --info
還有其他延伸的操作,可以參考Microsoft Aspire 部署文件
上一個專案,有些功能不能在 Ubuntu 上執行(Windows Form 專案),因此新建一個 Aspire Host 空專案進行說明
如果是內部網域使用,新建專案時,可以只使用 Http 運行
為了要能執行 Http ,需要在 Environment 的地方新增以下參數,讓 Aspire Host 可以正常執行
"ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true"
代碼結構很乾淨,只有 Aspire Host 沒有其他相依,請簽入到版控 (Git、Github、SVN…)
登入 Ubuntu 主機,並且 Clone 代碼到一個路徑上,示意如下:
輸入以下指令啟動 Aspire
dotnet run --project ./AppHostForUbuntu.csproj
可以觀察到啟動的 URL 如下:
http://localhost:15091
※主機 IP : 192.168.51.188
若直接用瀏覽器連到此路徑會出錯,需要進行 Nginx 的反向代理設定 (其他工具亦可)
http://192.168.51.188:15091
到 Ubuntu 上,安裝完 Nginx 後,可以到以下資料夾新建檔案,這邊新建了 aspirehost.conf 檔案
/etc/nginx/conf.d
檔案內容如下,因為 15091 已經用在 Aspire Host 內部服務上,要對外我們建立了 15092 提供傾聽
server {
listen 15092;
server_name 192.168.51.188;
location / {
proxy_pass http://localhost:15091;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
保存完成後,重啟 Nginx 服務
systemctl restart nginx
因為我們從外部訪問此站點(但仍在同網域下),而非使用 Localhost </br>因此 Aspire Host 儀錶板會要求輸入 Token
http://192.168.51.188:15092
Token 位置就在 Ubuntu 啟動時顯示,只有擁有主機權限的管理者,才能看到此段資訊。
Microsoft 取得 Token 文件
輸入後 -> 登入
Ubuntu 也可以正常使用 Aspire Host ,若有相關的服務就可以進行繫結 (Windows Form 這種基於 Windows 的專案則不合適)
預設的 Ubuntu 也需要檢查是否有安裝 dotnet SDK
dotnet --info
若無,則可以輸入以下指令,開始下載 SDK
sudo apt-get update
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-8.0
dotnet workload install aspire
其中 install aspire 是只有用到 Aspire 才會需要安裝。