windows下dapr的程式碼除錯--非docker部署

星仔007發表於2023-02-20

上一篇大概的整理了一下在vm虛擬機器下透過docker部署dapr應用,作服務之間呼叫的例子。

今天整理一下windows下dapr的非docker部署除錯,畢竟大部分開發不需要花費太多時間做部署。

原始碼還是來自上一篇的例子,程式碼就不再貼出來了。 exercisebook/Dapr/DaprDemo at main · liuzhixin405/exercisebook (github.com)

首先windows電腦下面需要安裝dapr的sdk,官方文件跳轉安裝 Dapr CLI | Dapr 文件庫 

安裝完docker後初始化一下dapr,最後透過dapr--version驗證下安裝是否成功和版本號。

看官方文件,往後的操作就是docker相關的,如果windows下不想裝docker可以跳過,而且我的電腦有vm虛擬機器,安裝docker需要關閉hyper-x, 虛擬機器和win下面安裝cento或docker最頭痛的是hyper-x不能共存,而且沒必要都要裝。

下面的教程跟docker和虛擬機器無任何關。

繼續翻看文件,在不使用diocker的情況下子託管模式執行dapr,

就是這個命令 dapr init --slim ,會初始化winows的dapr 執行時環境。

操作方式: 不使用 Docker 在自託管模式下執行 Dapr | Dapr 文件庫

安裝完後可以看到在本機的使用者賬號下生成的目錄,開啟components資料夾,會看到statestore.yaml檔案,是不是有點熟悉,這就是狀態管理和釋出訂閱預設的儲存容器redis配置。

因為有了這個檔案的配置,所以啟動我們自己的服務前需要把我們的redis跑起來,如果有密碼需要填上去。

下面除錯我們的服務分兩步走。

第一步啟動兩個服務

第二部當讓又是熟悉的附加程式了。

 

首先分目標在專案資料夾下面執行這兩個命令

dapr run --app-id getwf --app-port 5053 dotnet run

dapr run --app-id clientservice --app-port 5277 dotnet run

 

因為本地除錯沒有跟上一篇一樣給指定--dapr-http-port的埠,而且在windows下面啟動會需要launchSettings.json這個檔案,所以埠是改檔案配置好的http的埠。

如果不是指定launchSettings.json的埠,會有提示埠已指定該檔案的http和https埠。

 

 

下面就是附加程式了,首先把程式碼打好斷點,再把這兩個程式加入到vs中,一下子不能同時新增兩個程式,加完Server再加Client,沒有先後順序。

下面就來除錯程式碼了,輸入client請求的介面地址,client寫了日誌,server沒有寫,所以控制檯只列印client輸出的資訊:

總結,dapr的除錯確實非常簡單,而且不需要一點複雜的除錯環境,真的非常不錯。學習成本不僅僅非常低,而且部署也不復雜。

下面是一個dapr服務日誌釋出訂閱的例子

exercisebook/Dapr/DaprLogger at main · liuzhixin405/exercisebook (github.com)

相關文章