Предаване на обекти на SharePoint като аргументи на функция. това лошо ли е

Създавам уебчаст, която включва функция със SPList като един аргумент. Списъкът, който се предава, ще нараства с времето, което ме кара да се притеснявам за проблем с мащабируемостта. Трябва ли да се тревожа за потенциални проблеми с производителността, използвайки този метод?

Ако можете да предложите някаква информация за други обекти на SharePoint (SPSite и т.н.), отнасящи се до моя въпрос, или да предоставите връзка към допълнително четене по тази тема, ще съм много благодарен!


person Steve Ruiz    schedule 07.05.2009    source източник


Отговори (3)


Защо това би било проблем? Очаквате ли данните в списъка да бъдат копирани, когато извикате функцията? Няма да бъде. SPList е препратка към SPList обект и вие само ще копирате препратката.

В противен случай не мога да се сетя защо би имало проблем с мащабируемостта. Моля, посочете защо смятате, че може да има такъв.

person John Saunders    schedule 07.05.2009
comment
Точно това ми беше въпроса. Не бях сигурен как точно C# предава обектите. Още един въпрос, който да задоволи любопитството ми обаче: ще има ли някаква разлика между декларирането/подаването на SP обекта с ref спрямо простото му предаване „нормално“? - person Steve Ruiz; 07.05.2009
comment
Не си казал какъв език използваш, нали? Референциите са си референции. Ако по някаква причина сте предали препратка към препратката, тогава все още предавате препратка. - person John Saunders; 07.05.2009

Ако искате представа за производителността с обекти на SharePoint, трябва да прочетете за изхвърлянето на SPSite и SPWeb. Всеки разработчик на SharePoint трябва да знае за тях.

http://blogs.msdn.com/rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx

person JMD    schedule 07.05.2009

За да добавим към отговора на Джон Сондърс, обекти като SPList, когато са създадени, всъщност не създават списък с всички тези данни в паметта. По-скоро той създава връзка с мястото, където се съхраняват данните от списъка в базата данни, и всяко извикване на този обект задейства негов собствен SQL в бекенда. По същество обектът SPList сам по себе си е препратка. Предаването му като параметър е добре!

person Mike Davis    schedule 18.11.2014