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

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

int 和 long 重載的性能損失

int 和 long 重載的性能損失

C#
蝴蝶刀刀 2021-10-24 14:19:46
題:當(dāng)實(shí)體中的直接數(shù)據(jù)訪問需要 0.4 秒時(shí),為什么將列表從受保護(hù)的內(nèi)部類傳遞到 API 方法然后返回到我的 UI 需要 4 秒?是因?yàn)橥ㄟ^這些方法實(shí)際傳遞了列表嗎?背景:我希望創(chuàng)建一個(gè)“API”層,它位于我使用實(shí)體框架的數(shù)據(jù)訪問層和我的 UI 層之間。這個(gè)想法是限制對 CRUD 操作的訪問并通過 API 強(qiáng)制執(zhí)行所有操作,但是我注意到性能很差。當(dāng)我在這里使用我的類結(jié)構(gòu)時(shí),這種情況下的 get 方法需要4 秒才能運(yùn)行:public class API{    DataAccessClass _dataAccess = new DataAccessClass();    public List<Items> GetById(int id)    {        return _dataAccess.Get(id);    }    protected internal class DataAccessClass    {        protected internal List<Items> GET(int id)        {             using (var context = dbcontext)            {                return context.GetItems();            }        }        protected internal List<Items> GET(long id)        {             using (var context = dbcontext)            {                return context.GetItems();            }        }    }}但是,當(dāng)我直接在代碼中使用我的 dbcontext 時(shí)(我想阻止),它使用在上面受保護(hù)的類中找到的相同代碼在0.4 秒內(nèi)運(yùn)行:using (var context = dbcontext){     return context.GetItems();}編輯:當(dāng)我排除 API 的數(shù)據(jù)訪問部分(即受保護(hù)的內(nèi)部部分)并直接在 API 中運(yùn)行 using 語句(只是切出受保護(hù)的內(nèi)部部分)時(shí),我得到了可接受的 0.4 秒。
查看完整描述

1 回答

?
POPMUISE

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

為了解決我的性能問題,我從上面的 GET 類中刪除了重載。


我的性能問題來自原始問題,通過更改我的兩個(gè) get 方法(一個(gè)使用 int 和一個(gè) long)的方法名稱來解決。不知道為什么這些重載會(huì)導(dǎo)致問題,但通過刪除重載并直接指定名稱,我的性能問題得到了解決。


我的工人階級(jí)看起來像:


public class API

{

    DataAccessClass _dataAccess = new DataAccessClass();


    public List<Items> GetById(int id)

    {

        return _dataAccess.Get(id);

    }


    protected internal class DataAccessClass

    {

        protected internal List<Items> GetByInt(int id)

        { 

            using (var context = dbcontext)

            {

                return context.GetItems();

            }

        }

        protected internal List<Items> GetByLong(long id)

        { 

            using (var context = dbcontext)

            {

                return context.GetItems();

            }

        }

    }

}


查看完整回答
反對 回復(fù) 2021-10-24
  • 1 回答
  • 0 關(guān)注
  • 189 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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