客戶端Blazor中的應用程式設定

2021-10-01 20:49:20 字數 1725 閱讀 9580

目錄

載入客戶端應用程式設定

向客戶端公開設定

從客戶端獲取設定

我通過asp.net

寵壞了,希望應用程式設定能正常工作,但是客戶端

blazor

還沒有乙個容易配置的應用程式設定文章。我想要的是能夠通過

azure

應用服務應用程式設定在每個環境(

dev/test/beta/prod

)上設定一些設定。目標是乙個構建工件,該工件在環境之間零變化地移動。

如果將blazor

應用程式託管為靜態檔案,則需要針對每個不同的環境更改應用程式設定檔案。因此,我不再使用

asp.net core web hosted

。我已將應用程式命名為

,因此在解決方案中,我們擁有

(wasm

應用程式),

(託管應用程式)和

(客戶端與伺服器之間共享的**)

我們將通過

中的內建配置儲存和訪問客戶端應用設定。為此,我們將新增如下值。

}

我們還將在

專案中建立乙個類來儲存這些配置。 }

然後,在

的startup

中,我們將獲得對應用程式配置的引用,並將其儲存在本地變數中。

private readonly iconfiguration _configuration;

public startup(iconfiguration configuration)

這使我們能夠使用配置從

中載入設定並將其作為單例新增到依賴項注入配置中。

這是我最麻煩的地方。在應用程式繼續執行之前,我需要完全載入這些設定。如果我非同步執行此操作,它將在設定載入完成之前開始在當前頁面上執行初始化和

parameterset

方法。如果我試圖通過呼叫

.wait()

強制非同步

web請求同步完成,則該應用程式將鎖定。

為了解決這個問題,我們可以建立乙個元件來載入設定,並在載入後顯示其子內容。然後,我們可以將內容包裝在此元件中,以確保在載入設定之前它不會開始初始化或設定引數。首先,我們建立

}} 因為我們不能(或無法)將

例項載入到依賴注入中,以使其在整個應用程式中可用,所以我只是將值放在靜態類中。

現在,在

mainlayout.razor

中我們可以用

包裝@body

最後,我們可以在

index.razor

頁面上引用

。為了證明這一點,我將其顯示在頁面上。

@page "/"
現在我們可以在

的部分設定任何我們喜歡的設定,它將被視為乙個普通的應用設定,包括能夠通過

azure

應用服務的配置部分設定設定。

除錯應用程式中的客戶端指令碼

可用來除錯應用程式中的客戶端指令碼的方法有若干種 注意若要除錯指令碼,必須在 internet explorer 中 啟用指令碼除錯。從 microsoft internet explorer 中除錯客戶端指令碼 從 檢視 選單中,選擇 指令碼除錯程式 並單擊 開啟 這將啟動 實時除錯 對話方塊。從...

網頁中啟動客戶端winForm應用程式

windows registry editor version 5.00 hkey local machine software classes test test url protocol c program files tencent qq2009 bin qq.exe hkey local m...

典型 HTTP 客戶端應用程式中的步驟 msdn

visual studio net 2003 下表顯示在典型 http 客戶端應用程式中可能執行的步驟 目標採取的操作 效果開始 http 會話。建立 cinternetsession 物件。初始化 wininet 並連線到伺服器。連線到 http 伺服器。使用 cinternetsession g...