第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Blazor 組件文件中的依賴項(xiàng)注入

Blazor 組件文件中的依賴項(xiàng)注入

C#
波斯汪 2023-12-17 20:02:40
我的應(yīng)用程序中有一個(gè) blazor 組件:public class IndexComponent : ComponentBase{    public string ContentRoot { get; set; }    public string WebRoot { get; set; }    private IHostingEnvironment HostingEnvironment;    public IndexComponent(IHostingEnvironment hostingEnvironment)    {        HostingEnvironment = hostingEnvironment;    }    protected override async Task OnInitAsync()    {        //Some Code Here    }}我正在嘗試在我的應(yīng)用程序中使用 DI,例如 IHostingEnvironment。代碼在這里沒有給出編譯時(shí)錯(cuò)誤,但是當(dāng)我運(yùn)行它時(shí),比該剃刀的代碼隱藏文件(Index.razor.g.cs 文件)中的代碼:public class Index : IndexComponent在這一行它說:沒有給出與所需正式要求相對(duì)應(yīng)的論點(diǎn) IndexComponent.IndexComponent的參數(shù)hostingEnvironment這可以通過在 Razor 文件中使用 @inject IHostingEnvironment 來解決,但我正在將功能塊從 Razor 移動(dòng)到 IndexComponent.cs 文件,因此需要它。兩者都不能以下面的方式工作:[Inject]IHostingEnvironment HostingEnvironment這里有什么作用呢?注意:不使用ViewModel更新1在 StartUp.cs 中添加命名空間using Microsoft.AspNetCore.Hosting.Internal;然后services.AddSingleton<IHostingEnvironment>(new HostingEnvironment());現(xiàn)在可以在客戶端項(xiàng)目上注冊(cè) IHostingEnvironment,但它沒有屬性值(contentrootpath 和 webrootpath)。這里只有一件事是可用的,那就是 EnvironmentName ,它的值始終是 Production ,
查看完整描述

3 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

更新:


該錯(cuò)誤來自 WebAssembly,因此它是一個(gè)客戶端應(yīng)用程序??蛻舳松蠜]有 HostingEnvironment,因此服務(wù)未注冊(cè)。如果是的話那就沒什么用了。


所以,退一步:為什么(你認(rèn)為)你需要它?


您應(yīng)該將其設(shè)為受保護(hù)或公共讀/寫屬性:


// in IndexComponent

[Inject]

protected IHostingEnvironment HostingEnvironment { get; set; }

并刪除構(gòu)造函數(shù)參數(shù)。


旁注:IHostingEnvironment 已標(biāo)記為已過時(shí)。


查看完整回答
反對(duì) 回復(fù) 2023-12-17
?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

事實(shí)證明,對(duì)于 Blazor,您需要一個(gè)稍微不同的界面,即IWebAssemblyHostEnvironment。

從此文檔中,您應(yīng)該注入的是:

@inject?IWebAssemblyHostEnvironment?HostEnvironment


查看完整回答
反對(duì) 回復(fù) 2023-12-17
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

來自這個(gè)評(píng)論:

WASM:System.InvalidOperationException:無法為屬性“HostingEnvironment”提供值;在類型“JewelShut.Client.Pages.Index”上。沒有類型為“Microsoft.AspNetCore.Hosting.IHostingEnvironment”的已注冊(cè)服務(wù);

我猜這是一個(gè)客戶端?Blazor 應(yīng)用程序。 (如果我的猜測(cè)有誤,我很抱歉。)。在客戶端 Blazor 上,IHostingEnvironment?默認(rèn)情況下不會(huì)在 DI 容器中注冊(cè)。該錯(cuò)誤仍然表明您嘗試注入的服務(wù)尚未注冊(cè)。注冊(cè)服務(wù):

在 Startup.cs 中:

public void ConfigureServices(IServiceCollection services)

{

? ? //few sample for you

? ? services.AddScoped<AuthenticationStateProvider, ApiAuthenticationStateProvider>();

? ? services.AddAuthorizationCore();


? ? //register the required services

? ? //services.Add...

}


查看完整回答
反對(duì) 回復(fù) 2023-12-17
  • 3 回答
  • 0 關(guān)注
  • 319 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)