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

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

如何為所有函數(shù)請(qǐng)求重用對(duì)象實(shí)例?

如何為所有函數(shù)請(qǐng)求重用對(duì)象實(shí)例?

C#
犯罪嫌疑人X 2023-07-22 16:56:18
我正在開發(fā)一個(gè)天藍(lán)色的函數(shù),它可以對(duì)對(duì)象進(jìn)行依賴注入,我想知道我能做什么,在構(gòu)造函數(shù)中僅創(chuàng)建一次實(shí)例(當(dāng)我將函數(shù)部署到生產(chǎn)環(huán)境時(shí)),并在其他函數(shù)請(qǐng)求時(shí)重用創(chuàng)建的第一個(gè)實(shí)例。我對(duì)要重用的對(duì)象進(jìn)行了注入依賴,但它不起作用。
查看完整描述

2 回答

?
回首憶惘然

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

在函數(shù)的多個(gè)實(shí)例中重用資源的方法是將其聲明為static. 例如,假設(shè)我想重用HttpClient:


public static class PeriodicHealthCheckFunction

{

    private static HttpClient _httpClient = new HttpClient();


    [FunctionName("PeriodicHealthCheckFunction")]

    public static async Task Run(

        [TimerTrigger("0 */5 * * * *")]TimerInfo healthCheckTimer,

        ILogger log)

    {

        string status = await _httpClient.GetStringAsync("https://localhost:5001/healthcheck");


        log.LogInformation($"Health check performed at: {DateTime.UtcNow} | Status: {status}");

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-07-22
?
慕無(wú)忌1623718

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

C# 中沒(méi)有像 Native C++ 那樣的“函數(shù)作用域”變量。但是您可以使用許多類似的構(gòu)造:

使用 Public get 但 private Set 創(chuàng)建一個(gè)屬性。這樣,只有類代碼(如構(gòu)造函數(shù))可以設(shè)置值。您會(huì)看到這種模式在 .NET Framework 中被大量使用。然而,它并不能真正避免意外地在類代碼中設(shè)置值。如果您從不在類代碼中的其他任何地方使用此值,效果最好。

另一個(gè)選項(xiàng)是“只讀”變量屬性。它強(qiáng)制要求該值必須設(shè)置一次(在構(gòu)造函數(shù)中),但也只能設(shè)置一次。您仍然需要將實(shí)例交給構(gòu)造函數(shù)或使用靜態(tài)。

另一種選擇是添加靜態(tài)變量來(lái)存儲(chǔ)數(shù)據(jù)。但這種模式是絕對(duì)不可取的。如果您永遠(yuǎn)不需要第二組具有不同共享值的實(shí)例,那么您就輸了。這將會(huì)發(fā)生,就像垃圾收集一樣。我們有數(shù)十年的靜態(tài)價(jià)值觀適得其反的經(jīng)驗(yàn)。所以你真的應(yīng)該保留實(shí)例變量。

另一種方法是添加工廠方法。如果實(shí)例需要設(shè)置,而您不能讓普通程序員使用您的代碼,則通常會(huì)使用它們。您甚至可以通過(guò)同時(shí)擁有公共構(gòu)造函數(shù)和實(shí)例工廠方法來(lái)稍微打破該模式。如果您使用工廠方法,共享的東西將從它們調(diào)用的實(shí)例中復(fù)制過(guò)來(lái)。如果您使用公共構(gòu)造函數(shù),則會(huì)創(chuàng)建一個(gè)新的共享事物。


查看完整回答
反對(duì) 回復(fù) 2023-07-22
  • 2 回答
  • 0 關(guān)注
  • 134 瀏覽

添加回答

舉報(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)